図面ビューでブロックを正しく実装して、線を 2 つの部分に分割できるようにする方法。UIImageViewまたはUIImageを使用していますか?
切断された後、ブロックは物理学の影響を受けるはずです。
図面ビューでブロックを正しく実装して、線を 2 つの部分に分割できるようにする方法。UIImageViewまたはUIImageを使用していますか?
切断された後、ブロックは物理学の影響を受けるはずです。
まず、合計でいくつのカットが発生する可能性がありますか?いくつの独立したブロックが生じる可能性がありますか?10?100?これらのいずれかを実装する前に、iPhoneまたはiPodtouchでその数のオブジェクトを移動してテストしてください。シミュレーターで動作するからといって、実際のデバイスで十分に高速になるとは限りません。
第二に、すでに述べたように、あなたのために多くの仕事をするかもしれないゲームグラフィックスと物理学のためのライブラリがあります。 Cocos2Dは、OpenGL描画と物理ライブラリへの比較的簡単なアクセスを組み合わせた、人気のあるオプションのようです。
とにかく、あなた自身の描画をするために、ここに選択肢があります:
すべてのグラフィックをOpenGLに移動します。これは軽々しく行われるべきではありません-あなたはCocoaTouchでの作業の容易さの多くを失います。また、グラフィックとアニメーションを最大限に制御でき、時間をかけて最適化すると、最もスムーズなパフォーマンスを実現できます。
単一のUIViewをCALayer
用意し、独立したブロックごとにメインレイヤーにサブレイヤーを追加します。CALayersは、高速移動と合成用に設計されています。ただし、物理シミュレーションを実行している場合、最初のステップはアニメーションの動作を削除することです。 このチュートリアルシリーズは役に立つかもしれません。
UIView
ブロックごとに分けてください。UIViewは実際にはCALayerで描画されるため、これはCALayersを使用する場合と同様のパフォーマンスになります。このオプションはより多くのメモリを消費しますが(少なくとも以前と同じ数のレイヤーとより多くのビューがあります)、CALayersのすべての機能に加えて、ビューでより簡単ないくつかの描画オプションがあります。
を1つ持ち、そのメソッドUIView
中にすべてのブロックを描画します。drawRect
これは実装が簡単に見えるかもしれませんが、ほぼ確実に遅すぎます。
可能であれば、これらのそれぞれをテストします。切断と物理の部分を続行する前に、画面が遅くなりすぎる前に、画面全体でいくつのブロックをアニメートできますか?それを使ってゲームを作ることはできますか?物理システムが機能するとゲームの速度が低下することを忘れないでください。