[2つのオブジェクトがあり、どちらもCCSpriteのサブクラスです。それらのそれぞれには、実際にスプライト画像を表すCCSprite変数があります
例:
@interface Player : CCSprite
{
CCSprite *sprite;
}
@property (nonatomic, retain) CCSprite *sprite;
両方の衝突を検出しようとしていますが、試してみると:
- (void)detectCollision:(id)sender
{
for (Player *tempPlayer in self.playersArray) {
if (CGRectIntersectsRect([tempPlayer boundingBox], [mainPlayer boundingBox])) {
//Collision
}
}
}
私が試したとき、それは衝突を認識しません:
- (void)detectCollision:(id)sender
{
for (Player *tempPlayer in self.playersArray) {
if (CGRectIntersectsRect([tempPlayer.sprite boundingBox], [mainPlayer.sprite boundingBox])) {
//Collision
}
}
}
まだ衝突していない場合でも、両方のオブジェクトが画面に表示されているときに衝突を検出します。
編集: オブジェクトにboundingBoxを追加するのを忘れました...
ありがとう