Ich habe dieses Spiel gesehen
Ausgefallene Hosen 2 . Abgesehen von der Physik und den schönen Animationen ist mir aufgefallen, dass sich die Figur entlang von Hängen bewegt, sogar entlang gekrümmter Hänge. Ich habe wenig Erfahrung mit Box2d, aber dieses Konzept von gekrümmten Hängen ist für mich neu. Es wäre eine große Hilfe für mich, wenn mich jemand über dieses Konzept und seine Umsetzung aufklären würde. Auch wenn sich die Implementierung nicht in box2d befindet, ist dies willkommen.
game-design
flash
box2d
physics-engine
Vishnu
quelle
quelle
Antworten:
Wie bekommt man Kurven in Box2D?
In der unveröffentlichten Version von Box2D gibt es zwei neue Formtypen, b2LoopShape und b2EdgeShape , mit denen Sie Kurven aus einer Folge von Liniensegmenten erstellen können.
In der veröffentlichten Version können Sie mehrere kleine Kästchen verwenden, die in Winkeln angeordnet sind, um einen ähnlichen Effekt zu erzielen. Körper neigen jedoch dazu, instabile und unerwartete Dinge in der Nähe von Verbindungspunkten auszuführen. Daher würde ich empfehlen, die unveröffentlichte Version zu verwenden.
Wie kann ein Charakter die Kurve hinunterfallen?
Mach aus dem Charakter ein Rad! Meine Frage zur Plattformerphysik hat einige Diskussionen darüber , aber die Grundidee besteht darin, den Körper Ihres Charakters auf einem rotierenden Rad zu montieren und sich durch Aufbringen einer Rotationskraft auf das Rad zu bewegen. Obwohl (eigentlich weil) das Rad Reibung hat, bewirkt die nach unten gerichtete Kraft der Schwerkraft, dass es sich wie ein echtes Rad nach unten dreht. Indem Sie die Motorparameter des Drehgelenks ändern , können Sie es so weit wie nötig der Drehung widerstehen lassen, um zu vermeiden, dass es kleine Steigungen hinunterrollt.
quelle
Fancy Pants wurde in Flash erstellt, und Flash verfügt über eine spezielle Methode namens "hitTest", mit der Sie ein Pixel (in diesem Fall führt er wahrscheinlich 2-3 Pixel-HitTests am unteren Rand des Fancy Pants-Zeichens durch) gegen alles zeichnen können, was gezeichnet wird innerhalb eines bestimmten Movieclip-Objekts. Es kann etwas schwierig sein, das Gefühl richtig zu machen, aber diese integrierte Funktion ist der Grund, warum so viele Flash-Spiele Kollisionen mit gekrümmten Hängen haben. Der Prozess ist für die meisten anderen Motoren viel komplizierter und muss normalerweise manuell durchgeführt werden, es gibt jedoch einige verschiedene Methoden.
Die Methode, mit der ich am besten vertraut bin, ist, wenn Ihre Engine auf Kacheln basiert (denken Sie an Sonic the Hedgehog), können die als gekrümmt bezeichneten Kacheln jeweils eine Formel haben, die die Kollisionsposition 'Y' basierend auf der aktuellen 'X'-Position des Charakters bestimmt auf dieser Fliese. Sie müssten die Formel basierend darauf bestimmen, wie steil ein Hang ist und wie gekrümmt Sie suchen. Sie können einen Grafikrechner oder ein Grafikprogramm verwenden, um mit den Formeln zu experimentieren. Auf diese Weise können mehrere Kacheln mit unterschiedlichen Kurven und Formeln verknüpft werden.
quelle