1

本でブレイクアウト ゲームのチュートリアルを終えましたが、20x20 ピクセルの画像であるボールがフレームをスキップしてスムーズに移動しませんでした。これは、iPhone 4S (実物) だけでなくシミュレーターにも当てはまります。コードはNSTimer(遅くなる可能性があります) を使用CADisplayLinkUIImageView setFrameていませんでしたが、アニメーションを実行するために and を使用していました。

iOS のコア アニメーションは、アニメーション タイプのゲームの開発にはあまり適していませんか? のゲームなら言えよ

  1. インベーダー(スペースインベーダー
  2. ブレイクアウト (チュートリアルのゲームとして)
  3. アルカノイド
  4. Angry Birds / Cut the Rope / Fruit Ninja

このようなタイプのゲームでは、Core Animation は上記の (2) を書くのに本当に適していますか? (1)、(3)、および (4) については、Cocos2D または OpenGL ES のいずれかがジョブを実行するのにより適しています。また、Cocos2D と OpenGL ES のパフォーマンスは非常に近いです。本当?

4

2 に答える 2

3

Cocos2D は、衝突検出やスプライト アニメーション、フレームごとのスケーリング、その他のゲーム開発で非常に一般的なプロセスなど、一般的なゲーム ロジックのプログラミングが容易であるため、よく見られます。それらをシーケンスし、コールバックを行います。これは、エンジンの大きな利点の 1 つです。

ただし、パフォーマンスは別です。Cocos は、フレームごとに個別に画面に「描画」するのではなく、すべてのグラフィック要素を単一の OpenGL 呼び出しに結合するバッチ ノードを提供します。これにより、特に大規模なグラフィックスのパフォーマンスが大幅に向上します。フレームをスキップしていたとしたら、Cocos のバッチ スプライトがミッシング リンクだったのではないでしょうか。

私は Core Animation に非常に感銘を受けており、ゲームのパフォーマンスの問題を解決できることを願っています。CA も Cocos と同様に OpenGL ES の上に構築されていると理解しているので、どちらでも良い結果が得られると期待しています。Cocos はゲーム開発用に内部で設計および最適化されているため、Cocos で行う方が簡単なのかもしれません。

于 2012-04-20T00:49:47.413 に答える