Проверка столкновения двух тел без вмешательства в физику (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