2

一度に表示されるCCSpriteの配列があります。すべてのスプライトには移動パスがあり、移動パスは画面上のランダムなポイントです。

すべてのスプライトが画面上のランダムなポイントに一度に移動しています。

私がやりたいのは、スプライト間の衝突を検出して、それらの移動経路を変更することです。

出来ますか?

4

3 に答える 3

1

このSO の回答をご覧ください。

CGRectIntersectsRectノードとノードを使用して、簡単な衝突検出を行うことができますboundingBox。より高度な機能が必要な場合は、chipmunkBox2Dなどの物理エンジンを調べてください。

于 2011-12-02T14:14:14.827 に答える
0

Ray Wenderlich は、Box2D を衝突検出のためだけに使用する方法についての優れたチュートリアルを書いています。 http://www.raywenderlich.com/606/how-to-use-box2d-for-just-collision-detection-with-cocos2d-iphone

まず、スプライトが長方形で近似できることを確認してください。もしそうなら、@Omegaの答えは素晴らしかったです。多くの透明度が含まれているため、またはその他の理由でそうできない場合は、スプライトをポリゴンで近似し、それらを操作する必要がある場合があります。

于 2011-12-04T10:37:01.587 に答える