4 Stimmen

Box2dWeb Rotationsgelenk, das durch den Boden fällt

Ich habe nach und nach versucht, mich in Box2dWeb einzuarbeiten. Wenn man die Grundlagen einmal verstanden hat, scheint es sich sehr schnell zu lohnen, was großartig ist. Ich kann den Angry Birds-Effekt simulieren, indem ich Objekte über die Seite und in Strukturen werfe. Ich habe mich von Seth Ladds großartigen box2d-Tutorials inspirieren lassen und versucht, sie so anzupassen, dass ich einen Level-Editor bauen kann, mit dem ich anfangen kann, Mini-Sidescrolling-Spiele zu erstellen. ABER...ich bin schon an der ersten Hürde gescheitert.....

Mein Revolute Joint ist im Debugger sichtbar (hellblaue Linie zwischen den beiden Körpern). Allerdings, wie es auf den Boden fällt das Gelenk selbst scheint auf fallen (aus der Leinwand), wenn die Körper selbst kollidieren und auf dem Boden zu stoppen. Es ist, als ob sie tatsächlich nicht mit einander verbunden sind überhaupt.

Kann mir jemand erklären, was genau ich falsch mache?

Eine abgespeckte Version finden Sie unter:

www.g-mccann.co.uk/box2d

Feedback ist sehr willkommen, ich lerne noch, also seid so kritisch wie ihr wollt.

Vielen Dank! Gary

Bearbeiten: 23/05/2012

Nur um zu aktualisieren, habe ich jetzt das Problem gelöst, es schien keine Befestigungen an einem der Körper zu sein. (Danke iforce2d) Ich habe up'd 1 Ihren Kommentar, aber kann nicht scheinen, um in der normalen Weise würde ich eine Antwort akzeptieren.

2voto

Parth Punkte 529

Ihr Problem kann mit der Funktion CreateJoint gelöst werden.

Ich habe Ihr Skript studiert, fügen Sie ich die Lösung gefunden, indem Sie nur diese Zeile in Ihrem init-Funktion.

box.addRevoluteJoint("wheel3","chassis", {motorSpeed: -2, maxMotorTorque: 10});

Ich hoffe, dass dies Ihr Problem lösen kann.

1voto

Martijn Courteaux Punkte 65602

Es sieht so aus, als ob Ihre Verbindung Körper ohne Vorrichtungen verbindet.

0voto

ubinab Punkte 1

Um ein Drehgelenk zu erstellen, müssen Sie zwei Körper hinzufügen, einen statischen und einen dynamischen. Der dynamische Körper ist an einem Punkt mit dem statischen Körper verbunden, indem Sie ein Drehgelenk verwenden und ihn drehen oder bewegen, indem Sie motorSpeed und maxTorque anwenden, nachdem Sie enableMotor aktiviert haben. Für Arbeitsbeispiele siehe dieses Spiel, das eine Menge von Revolute-Joints für die Herstellung verwendet. http://pixsansar.com/jumping-and-puzzle-ball-level1

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X