私はしばらくの間CocoaTouchを使用していて、本当に気に入っています。次のゲームでは、ユーザーが指でルートをたどり、そのパスを画像でたどることができるようにしたいと思います。また、壁がここにあるような衝突検出も含まれます。Core Animationで衝突検出が行われるのを見てきましたが、CGPath()や同様の関数を知っています。これは、画像がたどるパスをトレースするのに役立つと思われます。だから私の質問は、フレームワーク全体の半分以上がCocoa Touchと重複するコードを持っているのに、なぜそんなに多くの人がCocos2dを使うのかということです。ここで見逃しているパフォーマンスの問題はありますか?CocoaTouchのみを使用して壁の衝突検出を行うFlightControlのような指追跡ゲームを作成することはできません。私は本当にInterfaceBuilderでレベルをレイアウトしたいと思っています。必要な最低のビルド要件は、ゲームをiPhone3g以降で実行できるようにすることです。つまり、ストーリーボードも使用できます。Cocos2dをかわそうとして、私が苦痛の世界に入るのを見た人はいますか?このタイプのプロジェクトでは、そのフレームワークを分解して使用する必要がありますか?
2 に答える
あなたの質問はかなり「哲学的」であり、多くの開発者が自分自身のためにある時点で同じ種類の疑問を考えてきたと思います。
私にとって、私はいくつかのアプリでcocos2dを使用しました。これは、ゲームに典型的な概念(最終的にはゲームエンジン)を「すぐに使える」サポートであるためです。スプライトとスプライトシート。iPhoneグラフィックチップのネイティブフォーマット(PVRTCテクスチャ)。物理エンジンと衝突検出。また、cocos2dはOpen GLの複雑さに対処するのに優れた仕事をしていて、多くの時間を節約できると思います(つまり、OpenGLを使用しない場合にのみCoreAutomationでゲームをプログラムします)。
一方、コア自動化は、QuartzとOpen GLの両方のサポートを含む、より広範な種類のテクノロジーであると私は考えていますが、基盤となるグラフィックシステム(Open GLまたはQuartz)とゲーム。Core Animationを使用することで、coco2dですでに見つけた多くのコードを無料で(再)作成する必要があります(上記で強調した3つのポイントのように)。トピックについては、この投稿もご覧ください。
両方のパスを取ることができます。1つのケースでは、新しいカスタムフレームワーク(cocos2d)をマスターする必要があります。もう1つは、基本的なものを処理するための「一般的な」コードを作成する必要があります(つまり、コア自動化の上に独自のミニゲームエンジンを構築する)。
画面の内容に関して言えば、Cocos2D は単に OpenGL のラッパーであり、OpenGL で実行したいタスクの多くはすでに解決されています。OpenGL は UIKit よりも高速で、ゲームで使用したいグラフィック効果をより多く生成できます (たとえば、粒子効果。iOS5 では UIKit で実行できます)。
UIKit で作成された単純なゲームもありますが、指で画像をドラッグするだけなら、UIKit は十分に高速です。