Бомбы - Cocos2d / Box2d - PullRequest
       9

Бомбы - Cocos2d / Box2d

1 голос
/ 30 июля 2011

У меня есть мяч и бомба.Все, что мне нужно сделать, это когда мяч сталкивается с бомбой, бомба взрывается, отталкивая мяч от бомбы в противоположном направлении, в которое был брошен мяч.

Например, если мяч был брошен вУгол в 45 градусов и удар по бомбе, бомба взрывается и отталкивает шар от бомбы под углом -45 градусов.

Возможно ли это вообще?и если так, то может ли кто-нибудь вести меня в правильном направлении?

Ответы [ 3 ]

2 голосов
/ 30 июля 2011

Это возможно.Реализуйте свой собственный b2ContactListener, чтобы найти столкновение бомба-шар.Затем примените к мячу линейный импульс в соответствии с его положением и положением бомбы.

0 голосов
/ 01 августа 2011

Когда шар и бомба сталкиваются, вместо применения линейного импульса к мячу, вы можете попытаться увеличить размер бомбы в течение очень короткого времени.После увеличения размера бомбы вы можете уничтожить тело бомбы.

Увеличенное тело бомбы будет толкать мяч в правильном направлении.

0 голосов
/ 30 июля 2011

Если вы хотите полностью отказаться от симуляции физики (что в значительной степени соответствует написанному вами), вы можете либо просто не использовать Box2D, либо использовать его только для обнаружения столкновений.

Чтобы использовать его только для обнаружения столкновений, вы просто устанавливаете свои тела в качестве датчиков, а при обнаружении столкновения вы отправляете его под нужным вам углом (вычитаете или складываете углы вместе, переворачивая при достижении максимума диапазона) ).

Если вы хотите использовать физическое моделирование (имеет для меня гораздо больше смысла), тогда просто установите их обе с правильными масками, чтобы они сталкивались друг с другом, и настройте вашу реституцию (бодрость) так, как вам бы этого хотелось. Похоже, вы хотите, чтобы ваш мяч был динамическим объектом, а ваша бомба - статичной (я думаю, именно так они это и называют).

Очевидно, что в любом случае вам потребуется настроить анимацию или излучатель частиц для срабатывания при столкновении.

...