Box2d Collision Detction - чтобы сказать, с каким краем он столкнулся? - PullRequest
0 голосов
/ 02 сентября 2011

Я использую 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, чтобы мы могли определить направление удара героя по объекту?

Заранее спасибо.

1 Ответ

0 голосов
/ 02 сентября 2011

отметьте это и используйте, если оно работает

...