Dans Box2D, j'étais curieux de savoir s'il était possible d'obtenir une boîte englobante d'un corps déjà créé dans le monde.
Donc, fondamentalement, le corps est créé, il interagit avec le monde et autres. Et j'avais besoin de la boîte englobante de ce corps. C'est possible?
fixture->GetAABB()
n'existe pas, mais existefixture->GetAABB(int32 childIndex)
.juste utiliser le luminaire aabb inclut également le rayon de la forme - si vous voulez obtenir le vrai aabb sans le rayon de la forme, faites-le comme ceci:
la source
shapeAABB.lowerBound = shapeAABB.lowerBound + r;
etshapeAABB.upperBound = shapeAABB.upperBound - r;
obtenir le comportement que je voulais.Vraiment, une boucle for est généralement meilleure pour l'itération. Prendre la réponse de @noel:
L'expression
fixture
, prise comme booléenne, est, je comprends, équivalente àfixture != NULL
.la source
C'est ce que j'utilise généralement:
Où il s'agit d'un nœud parent. J'ai même ajouté cela au nœud lui-même (par exemple someNode) et cela semble également fonctionner, assurez-vous simplement que votre z-index est suffisamment élevé.
la source