私は加速度計を使用してゲームを作成しています。基本的に私のキャラクターは画面の下部にあり、画面の上部から落下するオブジェクトを避ける必要があります。CGRectIntersectsRect
キャラクター スプライトが敵のスプライトと交差しているかどうかを確認するために使用していますが、これに関する問題CGRectIntersectsRect
は、キャラクター スプライトの透明部分を検出することです。
スプライトの透明度を無視する方法はありますか?
私は加速度計を使用してゲームを作成しています。基本的に私のキャラクターは画面の下部にあり、画面の上部から落下するオブジェクトを避ける必要があります。CGRectIntersectsRect
キャラクター スプライトが敵のスプライトと交差しているかどうかを確認するために使用していますが、これに関する問題CGRectIntersectsRect
は、キャラクター スプライトの透明部分を検出することです。
スプライトの透明度を無視する方法はありますか?
手動で設計された形状を持つ物理エンジン (最高のパフォーマンスを得るために推奨) に加えて、非常に正確な衝突検出が必要な場合は、ピクセル単位の衝突検出を使用することもできます。
1 つの方法は、Box2d を使用することです。物理シミュレーションが不要な場合でも、衝突検出に使用するボディ シェイプを設定できます。
または、C++ を使用したくない場合、Chipmunk には衝突検出機能を備えた形状もあります。この投稿では、いくつかの詳細について概説します:シマリスの衝突検出
物理シミュレーターを使用したくない場合は、スプライトを複数の長方形と考えて、バウンディング ボックス全体ではなく、すべてのパーツのヒットをテストします。スプライトの形状が単純な場合、これは簡単で、良い結果が得られる場合があります。