Question

Je suis en train de supprimer un objet dans box2d quand entrent en collision deux objets.

Quand mes deux objets ne se touchent, l'un de l'objet rebondit sur l'autre. Il ne supprime l'autre objet, mais je veux que ce faire ressembler il a traversé au lieu d'un rebond.

J'ai mon type de corps Def réglé sur b2_staticBody.

Était-ce utile?

La solution

Vous devez définir la fixation du corps à être un capteur:

fixture->SetSensor(true);

Vous créez ensuite un écouteur de contact (class MyContactListener : public b2ContactListener) qui détecte les collisions dans la méthode BeginContact et vérifie si l'un des objets qui entrent en collision est de ce genre spécial. Une bonne façon de le faire est d'utiliser ces deux méthodes:

/// Get the user data pointer that was provided in the body definition.
void* GetUserData() const;

/// Set the user data. Use this to store your application specific data.
void SetUserData(void* data);

Vous devez être un peu familier avec le C ++ pour le retirer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top