/ / sprite atingiu uma parede ou outro sprite - cocos2d-iphone, box2d

sprite atingiu uma parede ou outro sprite - cocos2d-iphone, box2d

Eu estou tentando entender como implementar ofísica de sprite quando bateu em uma parede. digamos que eu tenha uma parede, e um sprite está batendo na parede com velocidade e gravidade usando box2d (cocos2d), qual é a maneira mais simples de aplicar uma física do que acontece ao lado do acerto, reclassificando a velocidade, gravidade, ângulo de colisão, etc? ouvinte de contato? Eu tenho que calcular o que acontece a seguir por mim e aplicar uma nova velocidade e força para o corpo? ou box2d faz isso por mim?

qualquer direção seria ótima. Thanx

Respostas:

1 para resposta № 1

box2d calcula tudo para você. Você não precisa se preocupar com o que acontece depois que dois corpos colidem.

Se o seu corpo atingir o solo, ele irá saltar comoresposta natural. Você não precisa aplicar uma nova força oposta à gravidade. Todos os cálculos são feitos pelo motor de física box2d. Motores de física são feitos para isso.

Além disso, se você quiser, pode aplicar suas próprias forças ou impulsos, como abaixo. É com você.

b2Vec2 force = b2Vec2(100, 200);
yourBody->ApplyLinearImpulse(force, yourBodyDefinition.position);