StartTutorialsGame MakerKreisbewegung ohne Pfade in GMS

Kreisbewegung ohne Pfade in GMS

  • 2 Wochen her
  • 1Minute

Das man mit Pfaden in GameMaker tolle Sachen machen kann, wurde bereits in einem anderen Tutorial gezeigt. Doch nicht für jede Bewegung braucht es vorgegebene Pfade. Kreisbewegungen lassen sich einfach per Code lösen.

Im aktuellen Testprojekt für einen anderen Artikel kommt es sehr oft vor. Objekte, die man einsammeln kann, bewegen sich in einer Kreisbahn. Etwa so:

Kreisbewegung ohne Pfade
Kreisbewegung ohne Pfade

Das Spiel dazu kannst Du Dir auf itch.io oder GXC anschauen. Und ja, das Spiel ist voll mit solchen Objekten. Sogar einer der späteren Gegner bewegt sich auf einer Kreisbahn.

Dabei gibt es zwei Herausforderungen:

  1. Die Kreisbahn per Code erzeugen.
  2. Die Bewegung so auszuführen, dass sich nicht alle gleich drehen.

Erfahrenere Entwickler ahnen bereits, dass Punkt 2 (mal wieder) etwas mit Zufall zu tun haben könnte. Legen wir los.

Create-Event

Das war es bereits. Wir legen zunächst einen Winkel für den Start fest. Hier kommt ein Zufallswert ins Spiel. Warum er durch vier teilbar ist, siehst Du gleich im Step-Event. Außerdem definieren wir einen Radius. Klar ist: Je größer die Zahl, umso größer der Kreis.

Step-Event

Die Drehgeschwindigkeit beträgt vier Schritte pro Step. Nach 90 Steps haben wir eine komplette Umdrehung. Bei 60 Steps pro Sekunde dauert die Umdrehung somit 1,5 Sekunden. Ist der Winkel größer 360°C, setzen wir ihn wieder zurück. Natürlich nicht auf 0, schließlich starten wir nicht damit, sondern mit -=360, um auf den Ausgangswert zu kommen.

Die Position für x und y werden mit cos und sin berechnet. Außerdem brauchen wir die GM-Funktion degtorad, um die Gradzahl in Bogenmaß umzuwandeln.

Draw-Event

Anschließend wird es gezeichnet. Fertig.

 

Vorheriger ArtikelRudi ist der beste Spürhund!
Nächster ArtikelThe Dark Mod
Sven Gramatke//www.gravitationart.com/
Schreibt gelegentlich Artikel. Schwerpunkte sind Gamedesign, Programmierung (GML, PHP und JS), Retro und Berichte.
Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments

NEWS

ByteGame News

Gamedev Podcast 52 – Game Therapy

0
Wer in den letzten 20 Jahren eine deutsche Tagesklinik schon mal von innen gesehen hat, kennt vielleicht Cogpack. Bei Cogpack kann man am PC...
GameJam-Logo von ManaSoup-GameJam (irgendwas mit Pizza)

Manasoup GameJam

0
Die drei-tägige Manasoup GameJam startet am Freitag, den 03.12.2021! Bei dieser deutschsprachigen GameJam der Gamedev-Discord-Community Manasoup-Network (in Kooperation mit Game Dev Podcast und dem Magazin...
ByteGame News

Multiplayer in Godot 4.0

0
Im Godot-Blog gibt es nun einen Beitrag über das neue Multiplayer-Replikationssystem, das für Godot 4.0 entwickelt wird. Darin werden die Konzepte vorgestellt, auf deren...

Echtzeit-Charakteranimationsschulung in der Unreal Engine

0
Animationen sind ein wichtiger Bestandteil jeder Storyline. Neben der Vielzahl von Objekten, die man in der Unreal Engine animieren kann - Charaktere, Objekte, Materialien...
ByteGame News

Rudi ist der beste Spürhund!

0
Bei A Swift's Live 2 - The Journey hat der Hund Rudi eine Schnüffel-Fortbildung genossen und kann nun besser schnüffeln denn je. Als Resultat...
0
Would love your thoughts, please comment.x
()
x