最近、iPhone/iPadとMac用のcocos2dアプリを作成するための調査を行った。私はiPhone/iPadのルートを行ったことがあるが、Macのターゲットではこれをやっていない。一部の人はそれをターゲットとして追加しているようだが、それは厄介であり、他の人々は同じファイルを使用する別々のCocos2d Macプロジェクトを作ることを提案しているようだ。ここに伝える知恵は?iPhone/iPad/Macを対象とするCocos2d
答えて
iOSとMacの両方のターゲットを同じプロジェクトに配置することは絶対に重要だと思います。そうしないと、一方のプラットフォームを他方のプラットフォームと同期させるには時間がかかりすぎますが、最終的には良い(しかしまだ時間がかかる)ワークフローを作成するか、2つのプラットフォームの1つを無視することになります。
理想的には、コードベースはコンパイラマクロの可能な限りの使用を避けるべきです。 iOSとMacコードを1つのプラットフォームで使用していなくてもコンパイルしたいと思うでしょう。したがって、Macには#ifdef
の一部のクラスやメソッドがあり、iOSには他のクラスやメソッドがあると、ターゲットの切り替え時にコンパイルエラーが発生することがよくあります。つまり、ラッパークラスは、プラットフォームに関係なく同じコードを書くことができるように、必須です。
現在、Cocos2Dでは、iOS & Macターゲットを同じXcodeプロジェクトに作成することはできません。各ターゲットはBase SDK、SDKルート、デプロイメントターゲット、アーキテクチャー、そしておそらくコンパイラーバージョンのビルド設定を必要とするため、そこに到達する方法はすぐには分かりません。場合によっては、これらのライブラリのiOSとMac固有のターゲットを強制的に作成するため、サードパーティのライブラリ(Box2D、Chipmunkなど)も使用したい場合は悪化しますプロジェクトのターゲットと同じコンパイラを使用してください。そうしないと、最も奇妙なビルドやランタイムの問題に遭遇することがあります。
これらのプラットフォーム固有のターゲットを取得して、1つのXcodeプロジェクト内で動作させることに問題がありました。私はXcode 4.1と4.2でそれを試していません。その時までにビルド設定をホストする.xcconfigファイルを作成しました。 .xcconfigファイルは、最新のXcodeバージョンでは必要な場合とそうでない場合がありますが、複数のプラットフォーム固有のターゲットを簡単に管理できるようになります。
短い話ですが、cocos2d-iphoneを使ってクロスプラットフォーム開発を行う最も簡単で簡単な方法は、Kobold2Dです。
15個のテンプレートプロジェクトのほとんどは、各プロジェクトにiOSとMacターゲットを持っています。対応するスキームを選択するだけで、&ビルドを実行する必要があります。最も一般的に必要なプラットフォーム固有のコード(ユーザー入力の処理)は、プラットフォームに依存しない単純なラッパークラスKKInputにラップされています。
免責事項:私はKobold2Dの開発元です。私が偏っているかもしれないスリムなチャンスがあります。とにかくKobold2Dを試してみてください。 :)
- 1. すべてのサブクラス化されたCCSprites(cocos2d)を対象とする
- 2. iPhone用Cocos2d対Cocos2d-x
- 3. .Netの管理対象リソースと非管理対象リソース
- 4. 管理対象と非管理対象物理エンジンのC#
- 5. 対象とする方法Microsoft.NetCore.App v1.0.3
- 6. 対象とするAndroidのバージョンは?
- 7. 対象のスペクトルと一致
- 8. 印刷対象とヌル
- 9. 抽象クラス対抽象クラス
- 10. 管理対象クラスに管理対象外/非管理対象メンバーを追加する
- 11. レルムDBの管理対象/非管理対象オブジェクトとは何ですか?
- 12. アクティビティの「対象」フィールドと「対象」フィールドの違いは何ですか?
- 13. Angular2対象ユニットテスト
- 14. ソート対象は
- 15. 対象Androidメールクライアント?
- 16. 対象オブジェクト
- 17. 対象行Javadoc
- 18. ソート対象
- 19. コンパレータの対象となるデータ構造
- 20. デルタ同期の対象となるデータベーススキーマ
- 21. 対象となるx86 in net461
- 22. 反対の対象に
- 23. Cocos2D-iOSのAndroid対応Cocos2D-AndroidのCCNode.visit()ですか?
- 24. 管理対象と非管理対象のアプリ内製品の違いは?
- 25. WPFとメトロの両方を対象とするポータブルライブラリ
- 26. アリ:プロセスをリストする対象
- 27. 管理対象スレッドをフリーズする
- 28. ガベージコレクションの対象オブジェクト
- 29. UIPanGestureRecognizerのオーバーライド対象
- 30. antlr4 Pythonの対象
私は実際にあなたの本を予約したので、助けてくれてありがとう!私は数ヶ月前にKobold2Dを好奇心から試してみましたが、xCode 4でうまくコンパイルできませんでした。最新のバージョンに試してみます。スーパーは、それが焼き付けられたマックターゲットでテンプレートプロジェクトを持っていることに役立ちます! – Codezy
それは常にxcode 4のためだけだった、私はあなたが "ビルドに走ったが、実行しない"と思います。これは修正しやすく、次のバージョンでは根絶しました – LearnCocos2D