你好,我碰到一個碰撞檢測問題。cocos2d:碰撞檢測不能正常工作
我有誰添加隨機對象
-(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 inizializated 葡萄酒碰撞intercect(?????????)爲什麼酒?
敵人inizializated Jetpack collision intercect(?????)爲什麼jetPack ??
但有時這是確定
敵人inizializated 敵人碰撞intercect
在哪裏我錯了嗎?
謝謝每一個身體的歡呼聲
它的好主意,但不工作,我不能回答ü我沒有信譽 – 2012-02-24 20:32:23
意見是溝通的正確方法。不要當它是一個真正的問題或評論寫答案;) – phlebotinum 2012-02-24 20:48:12
@GabrieleCarbonai:但是,這是不可能的 - 這意味着你* *沒有初始化這些對象,當你不應該有。也許你將不得不向我們展示更多的代碼。 – Voldemort 2012-02-25 03:05:09