Je souhaite modifier dynamiquement la taille d'un appareil. A l'origine je détruisais le luminaire à chaque image, puis le recréais avec la nouvelle taille. Le problème avec ceci est que puisque je suis en train de recréer des fixtures à chaque frame, le ContactListener est foutu car il appellera beginContact et endContact chaque frame (puisque je continue à détruire/recréer le fixture). Y at-il un moyen de contourner cela? J'ai besoin de l'auditeur de contact pour travailler. Merci!Box2D | Redimensionner l'appareil sans détruire/recréer?
0
A
Répondre
0
Je pense que vous cherchez quelque chose comme this (si vous utilisez le rayon comme une taille).
Dans votre ContactListener
vous pouvez accéder aux luminaires à tubes de votre corps, par exemple (en utilisant Kotlin):
override fun beginContact(contact: Contact) {
contact.fixtureA.body.fixtureList[0].shape.radius *= 0.99f
contact.fixtureB.body.fixtureList[0].shape.radius *= 0.99f
}
Cela réduira le rayon de deux corps en forme de contact avec le cercle à 1 pour cent. J'espère que cela aide un peu.