StartTutorialsGame MakerKreisbewegung ohne Pfade in GMS

Kreisbewegung ohne Pfade in GMS

  • 7 Monaten 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
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

Neueste Kommentare

NEWS

PDF

Artikel als PDF

0
Alle ByteGame-Artikel können nun bequem als PDF-Datei heruntergeladen werden. Diese Funktion wurde eingebaut, um vor allem längere Texte ausdrucken oder zumindest offline lesen zu...
Revision 2022

Revision 2022 – Eine Satellitenveranstaltung

0
Wer zu Ostern noch nichts vor hat, sollte über einen Besuch der Revision nachdenken. Diese Demoszene-Party startet am Karfreitag, den 15. April und endet...
news logo 696x400

Revorix Update 1.9

1
Revorix hat ein neues Update bekommen: Patch 1.9 Hauptfeature sind Ressourcen-Events mit der Möglichkeit wechselnde Ressourcen spenden zu können gegen noch zu enthüllende Überraschungen. Außerdem...
news logo 696x400

Godot 3.4.2 veröffentlicht

0
Kurz nach Version 3.4.1 wurde schon 3.4.2 der Spieleengine veröffentlicht. Grund für das schnelle Update war ein Fehler. Bein Rendering unter macOS konnte es...
news logo 696x400

CRYENGINE 5.7 Roadmap enthüllt

0
Nach langer Wartezeit wurde nun die Roadmap für die CRYENGINE 5.7 enthüllt. Crytek räumt dabei interne Schwierigkeiten ein. Intern sind wir bei der Entwicklung auf...
0
Would love your thoughts, please comment.x