2011-01-07 7 views
0

Ich entwickle eine App, die Box2d verwendet. Ich habe eine Welt mit mehreren Blöcken und einem Objekt, dass mit ihnen kollidiert. In dem Moment, in dem die Kollision beginnt, beginnen die Objekte ihre Form zu verändern, sie werden größer. Was könnte das verursachen?Box2d Kollision. Objekt wird verformt

Ich erstelle die Körper in festen Positionen und im Schlafzustand. auch shapeDef-> Reibung = 0.8f; shapeDef-> Dichte = 1,0f; shapeDef-> Restitution = 0,2f;

vielleicht verwende ich nicht die richtigen physikalischen Parameter, ich will diese Verformung nicht. Nur die Bewegung und der Körper behalten ihre ursprüngliche Form.

+0

sollten sie überhaupt nicht deformiert werden .... irgendetwas ist verrückt. Bist du sicher, dass sie ihre Form ändern, nicht nur überlappend oder so? ist deine Zeichenroutine korrekt? – mpen

+0

Ich überprüfe meine Zeichenfunktion, ich benutze OpenGLs Aufrufe, um die Scheitelpunkte aus der b2shape zu setzen, wenn erstellt wird. und beim Zeichnen verwende ich glTranslatef und glRotatef, um die Position und Rotation, die der b2Body hat, zu aktualisieren. –

Antwort

1

OK ich habe den Fehler gefunden.

ist es Schuld meiner Rendering-Funktion. Das Seitenverhältnis in der Gl-Initialisierung war nicht korrekt. Wenn sich das Objekt also auf der Achse drehte, wurde es vergrößert.