In Box2D war ich neugierig, ob es möglich ist, einen Begrenzungsrahmen eines Körpers zu erhalten, der bereits in der Welt erstellt wurde.
Im Grunde genommen ist der Körper geschaffen, er interagiert mit der Welt und so weiter. Und ich brauchte den Begrenzungsrahmen dieses Körpers. Ist es möglich?
fixture->GetAABB()
gibt es nicht, aber einefixture->GetAABB(int32 childIndex)
tut es.Wenn Sie nur das Fixture aabb verwenden, wird auch der Formradius berücksichtigt. Wenn Sie den echten Aabb ohne den Radius der Form erhalten möchten, gehen Sie folgendermaßen vor:
quelle
shapeAABB.lowerBound = shapeAABB.lowerBound + r;
undshapeAABB.upperBound = shapeAABB.upperBound - r;
das Verhalten erhalten, das ich wollte.Wirklich, eine for-Schleife ist normalerweise besser für die Iteration. Antwort von @noel:
fixture
Ich verstehe, der Ausdruck , der als boolescher Ausdruck verstanden wird, ist äquivalent zufixture != NULL
.quelle
Dies ist, was ich im Allgemeinen benutze:
Wobei dies ein übergeordneter Knoten ist. Ich habe dies sogar zum Knoten selbst hinzugefügt (z. B. someNode), und das scheint auch zu funktionieren. Stellen Sie nur sicher, dass Ihr Z-Index hoch genug ist.
quelle