Ich entwickle ein Spiel mit Box2D (Javascript-Implementierung - Box2DWeb) und möchte wissen, wie ich das Debug-Draw verschieben kann. Ich weiß, die übliche Antwort lautet: Verwenden Sie kein Debug-Draw, sondern nur zum Debuggen. Ich bin nicht, aber nicht alle meine Objekte befinden sich auf demselben Bildschirm, und ich würde gerne sehen, wo sie sich in der Physikdarstellung befinden.
Wie kann ich die Debug-Zeichnung schwenken?
Wie Sie sehen können, wird das Debug-Draw-Zeug oben links angezeigt, aber es zeigt nur einen kleinen Teil der Welt.
Hier ist ein Beispiel für das, was ich meine:
http://onedayitwillmake.com/ChuClone/
Das Spiel ist Open Source. Wenn Sie etwas durchgehen und notieren möchten, dass ich vielleicht etwas tue, das offensichtlich falsch ist:
https://github.com/onedayitwillmake/ChuClone
Hier ist meine hackige Methode , mit der ich jetzt durch die b2DebugDraw-Ansicht scrolle, in der ich b2DebugDraw eine Eigenschaft offsetX und offsetY hinzugefügt habe
quelle
Antworten:
Ich habe diese Frage selbst gestellt und die Antwort ist recht einfach. Übersetzen Sie einfach den Debug-Draw-Kontext.
quelle
Ich bin nicht sicher, ob dies auf Ihren Fall zutrifft oder nicht, aber die C ++ - Implementierung von box2d fordert eine Klasse auf, Rending-Jobs auszuführen. Sie müssen box2d also eine Klasse zur Verfügung stellen, die ihm sagt, wie man Objekte zeichnet. Sie können alle angegebenen box2d-Daten in Ihrer Debugdraw-Klasse manuell auffüllen.
quelle