Ich würde dieses Spiel gerne neu erstellen , aber ich habe keine Ahnung, wie ich das Seil oder seine Einflüsse auf den Ball erstellen soll.
Grundsätzlich gibt es ein Seil, das an einem Ende am Mauszeiger und am anderen Ende an einer massiven Kugel befestigt ist. Während der Benutzer seine Maus bewegt, folgen Seil und Ball, als würden sie im wirklichen Leben einen Dreschflegel oder dergleichen schwingen.
Wie würde ich vorgehen, um ein Seil wie im obigen Spiel zu erstellen?
Ich muss die grundlegenden Konzepte und die Physik kennen, die hinter der Erstellung eines solchen Seils stehen, und nicht, wie man eine bereits vorhandene Bibliothek verwendet, um eines zu erstellen. Ich möchte in der Lage sein, ein Seil von Grund auf neu zu implementieren, also muss ich wissen, wie es gemacht werden kann.
Vielen Dank!
quelle
Grundsätzlich müssen Sie eine Physik-Engine erstellen. Ein Seil ist konzeptionell ein Bündel von "Knoten", die mit Federn verbunden sind.
Grundsätzlich übt jeder Tick, jeder Knoten eine Kraft auf die darüber und darunter liegenden Knoten aus, proportional zu ihrem Abstand (oder wie weit sie von ihrer bequemen Dehnungslänge entfernt sind). Wenn Sie eine Kugel anbringen möchten, verbinden Sie sie einfach mit einem Federgelenk mit dem unteren Knoten des Seils.
Dies ist ein großartiges Tutorial zum Erstellen einer Physik-Engine, aber es geht nicht wirklich um Einschränkungen oder Verbindungen.
Hier ist ein Tutorial über grundlegende Federn, die alles sein sollten, was Sie für ein solches Seil benötigen.
Dies ist ein Seil, das in meiner (sehr einfachen) Physik-Engine erstellt wurde . Es hat offensichtlich einige Macken (die seltsame Vibration), aber es ist im Allgemeinen das, wonach Sie suchen. Wenn Sie das Seil ziehen, zeichnen Sie einfach nicht die Knoten.
Bearbeiten:
Um ein gut aussehendes Seil herzustellen, sieht ein "Fadengelenk" tatsächlich viel schöner aus und kommt Ihrem Beispiel näher. Ein Fadengelenk ist im Grunde eine Feder, korrigiert die Objekte jedoch nur, wenn sie zu weit voneinander entfernt sind (nicht, wenn sie zu nahe beieinander liegen).
Dies ist stattdessen mein Seil mit einer Schnurverbindung:
quelle