こんにちはすべて私は衝突の検出に問題があります。cocos2d:衝突検出が正しく機能しない
iは物体生まれ方法を選択しますときに、ランダムなオブジェクト
-(void)initObjects{
int randomNumber = arc4random() % 5 + 1;
switch (randomNumber) {
case 1:
[self initEnemy];
CCLOG(@"Random number 1");
break;
case 2:
[self initJetpack];
break;
case 3:
[self initWine];
break;
case 4:
// [self initNight];
break;
default:
CCLOG(@"no number");
break;
}
}
を追加する第一の方法があり、意志の衝突がスプライトを削除検出した場合は、すべてのオブジェクトのメソッド
ににコードを追加しました
[self schedule:@selector(collision) interval:1/60];
衝突方法:
-(void)collision {
if (CGRectIntersectsRect([_hero boundingBox], [_enemy boundingBox])) {
CCLOG(@"Enemy collision intercect");
[self spriteMoveFinished:_enemy]; // It's method like [self removeChild:_enemy cleanup:YES];
[self unschedule:@selector(collision)];
} else if (CGRectIntersectsRect([_hero boundingBox], [_powerNight boundingBox])) {
CCLOG(@"PowerNight collision intercect");
// the same up
} else if (CGRectIntersectsRect([_hero boundingBox], [_wine boundingBox])) {
CCLOG(@"Wine collision intercect");
// the same up
} else if (CGRectIntersectsRect([_hero boundingBox], [_jetPack boundingBox])) {
CCLOG(@"Jetpack collision intercect");
//the same up
}
}
は今面白いログ
Jetpackのは ワイン衝突intercectをinizializated(?????????)なぜワイン?
敵の未成年者 ジェットパックの衝突のintercect(?????)なぜjetPackですか?
しかし、時にはそれは大丈夫
敵が
私が間違っintercect 敵の衝突をinizializatedですか?
は、すべての最初の、全てのボディ歓声
その良いアイデアをありがとうございましたが、動作しないと私は –
コメントが通信するための正しい方法です私なしの評判のためのuを答えて傾けます。 )実際に質問やコメントのときに答えを書くのをやめてください;) – phlebotinum
@GabrieleCarbonai:しかし、それは起こりそうもありません。おそらく、あなたのコードをもっと見せなければならないでしょう。 – Voldemort