Бурундук для Cocos2D, обнаружение столкновений - лучшая практика? - PullRequest
0 голосов
/ 30 апреля 2011

Я использую физику Бурундука и хочу сделать обнаружение столкновений, чтобы выяснить, когда сталкиваются 2 cpBbody. У меня есть несколько вопросов;

  • Не могли бы вы привести пример использования cpCollPairFunc или cpSpaceAddCollisionHandler?
  • Я видел вокруг пересечения прямоугольника; это возможно для полигонов?
  • Должен ли я использовать другую библиотеку (SpaceManager или любую другую) сверху?

Спасибо!

F.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2012

Вам необходимо добавить следующие строки

shape-> collision_type = kCollisionTypeParticle;
cpSpaceAddCollisionHandler (space_, kCollisionTypeParticle, kCollisionTypeParticle, collisonDetect, NULL, NULL * NULL);

kCollisionTypeParticle - это enum, вы можете определить его, если есть два типа различных частиц.

typedef enum {
kCollisionTypeParticle,
kCollisionTypeParticleNew
} CollisionType *;1014 *

Здесь collisonDetect - это метод, который нам нужно зарегистрировать как:

cpBool collisonDetect (cpArbiter * arb, struct cpSpace * space, void * data) {
* layer= (*) data;
[layer collisonDetect: arb];
return cpTrue;
}

Теперь здесь, здесь вы будете обрабатывать остальную часть кода

- (void) collisonDetect: (cpArbiter *) arb {

NSLog (@ "COLLISION DETECTED");

}

0 голосов
/ 01 мая 2011

Джо, спасибо за ваш ответ; Corona не бесплатна, не так ли?

Спаситель в конце был: http://www.cocos2d -iphone.org / forum / topic / 9425 и метод cpSpaceAddCollisionHandler .

...