Проверка на сблъсък на две тела без намеса във физиката (Box2D)

В момента разработвам малка пъзел игра, в която целта е да стреляте с топка срещу две други топки по начин, по който всички (3) звезди са събрани по пътя си.

Ето една илюстрация, за да добиете представа:

Пример

Всички кръгли тела са динамични тела. Масата на звездните тела е зададена на 0. Използвам класа Box2D ContactListener, за да проверя сблъсъци. В началото на контакта премахвам тялото и текстурата на звездата. Но все още изглежда, че влияе на снаряда, сякаш все още удря нещо. Знам, че правя нещо нередно, но просто не мога да разбера.

Използвам ли правилния метод? Или забравям нещо? Благодаря предварително!


person edgarpetrauskas    schedule 06.07.2012    source източник


Отговори (2)


Това е, сензорите не се движат при сблъсък. Всичко, което трябва да направите, е да промените дефиницията на вашите звезди при създаването.

StarFixtureDef.isSensor = YES;
person The Windwaker    schedule 16.09.2012

Опитайте сензори в кутия 2D, така че да не се сблъсква с никакъв обект, но да приема събития.

person kaushik    schedule 30.08.2012