Я использую box2d для реализации обнаружения столкновений в моей игре.
В большинстве случаев любой тип обнаружения столкновений делает что-то вроде «удалить врага» или подобные вещи, которые являются однородными независимо от направления.
В моем случае обнаружение столкновений используется для предотвращения прохождения героя через стену.
Поэтому важно знать, в каком направлении он ударил стену, чтобы я мог правильно обновить его положение. Мой код шаблона на данный момент:
if(!collided){
rabbit.position = ccp(rabbit.position.x + (pitch/4),rabbit.position.y + ((roll/4)*(-1)));
}
else if(abs(roll)>abs(pitch)){
rabbit.position = ccp(rabbit.position.x + (pitch/4) ,rabbit.position.y);
}
else if(abs(pitch)>abs(roll)){
rabbit.position = ccp(rabbit.position.x,rabbit.position.y + ((roll/4)*(-1)));
}
else{
rabbit.position = ccp(rabbit.position.x,rabbit.position.y);
}
Конечно, у этого кода МНОГО проблем, их слишком много, чтобы перечислять здесь.
Итак, есть ли способ, используя Box2D, чтобы мы могли определить направление удара героя по объекту?
Заранее спасибо.