/ / cocos-2d виявлення зіткнення з прямою і падаючими об'єктами - iphone, cocos2d-iphone, виявлення зіткнення

Кокос-2d виявлення зіткнень з прямими та падаючими об'єктами - iphone, cocos2d-iphone, виявлення зіткнень

У мене з'явився спрайт гравця, який я можу переміщатися по екрану за допомогою акселерометра. Тепер я хочу перевірити, чи не стикається він з будь-яким із багато хто випадково падаючі об'єкти, які я створив. Я знаю про це CGRectIntersectsRect функція, але я не хочу, щоб я мав знати ім'я іншого об'єкта. Чи є якась функція getElementAt, як у Java, що я можу продовжувати перевіряти, чи є будь-який об'єкт, що перекривається моїм плеєром?

Спасибі заздалегідь!

Відповіді:

1 для відповіді № 1

Єдиний еквівалент cocos2d getElementAt Я знаю, що це getChildByTag:. Крім того, ви можете провести цикл на кожному дочірньому шарі, використовуючи:

for (CCNode *child in [self children]) {
if (CGRectIntersects(child.boundingBox, player.boundingBox) {
// perform collision stuff
}
}

Також важливо пам’ятати, що це жахливо неефективно, особливо з багато хто об’єкти. Ви можете розглянути можливість використання фізичного двигуна для ефективного виявлення зіткнення для вас.