Ich arbeite an einem Plattformer, bei dem ich Körper zwischen mehreren Box2D b2Worlds verschieben oder kopieren möchte. Der Wunsch ist jetzt dreimal aufgetaucht - Objekte zwischen Dokumenten in meinem Editor zu bewegen, den Spieler zwischen Ebenen im normalen Spielverlauf zu bewegen und dem Spieler eine Vorschau auf ein nicht triviales Projektil zu geben, das er im Spiel abschießen kann, was zu sein scheint am genauesten, indem man die Welt für ein paar Sekunden voraus simuliert.
Es sieht so aus, als könnte ich eine Parallelwelt zum "langen Weg" machen - für jeden Körper auf der Welt kopieren Sie die Körperdaten zurück in ein Def und erstellen Sie sie neu, kopieren Sie dann die Fixtures auf die gleiche Weise und machen Sie dann das Gleiches gilt für Gelenke. alle Geschwindigkeiten zurücksetzen; und wenn es sich eher um einen "Umzug" als um eine "Kopie" handelt, löschen Sie den Original.
Ich habe mich gefragt, ob jemand diesen Code bereits geschrieben hat (und wenn ja, war es tatsächlich ein praktikables Design oder nicht?), Oder ob Box2D einen Vorteil dafür hat, dies innerhalb seiner API zu tun, die mir fehlt.