Den Game Maker benutzen
Timing (Abstimmung)
In guten Spielen sind die Dinge, welche im Spiel geschehen, gut aufeinander abgestimmt. Glücklicherweise erledigt der Game Maker die meisten Abstimmungsangelegenheiten für Dich. Er achtet darauf, das gewisse Dinge mit einer konstanten Rate abgearbeitet werden. Diese Rate wird beim Erstellen eines Raumes festgelegt Aber du kannst sie ändern, indem du die globale Variable "room_speed" verwendest. So kannst du beispielsweise die Spielgeschwindigkeit langsam erhöhen und dadurch das Spiel schwieriger werden lassen, indem du die "room_speed" bei jedem Schritt (step) um einen kleinen Wert erhöhst (z.B.: 0.001). Wenn dein Rechner langsam ist, wird die Spielgeschwindigkeit evtl. nicht erreicht werden können. Dies kann durch die Variable fps, welche kontinuierlich die Bilder pro Sekunde angibt, geprüft werden. Schliesslich gibt es noch für fortgeschrittenere "Timing-Fälle" die Variable "current_time", welche die Anzahl der verstrichenen Millisekunden seit Rechnerstart angibt. Hier ist eine Aufstellung der verfügbaren Variablen (nur die erste kann verändert werden).room_speed Geschwindigkeit des Spiels im aktuellen Raum ("steps" pro Sekunde).
fps* Anzahl der gezeichneten Bilder pro Sekunde.
current_time* Anzahl der vergangenen Millisekunden seit Systemstart.
current_year* Das aktuelle Jahr.
current_month* Der aktuelle Monat.
current_day* Der aktuelle Tag.
current_weekday* aktueller Wochentag (1=Sonntag,...,7=Samstag).
current_hour* aktuelle Stunde.
current_minute* aktuelle Minute.
current_second* aktuelle Sekunde.
Manchmal willst du das Spiel für eine gewisse Zeit anhalten. Benutze dafür die "sleep"-Funktion.
sleep(numb) schläft numb Millisekunden lang.
Wie du wissen solltest, besitzt jede Instanz 12 verschiedene Alarmuhren (alarm clocks), welche du stellen kannst. Um die Werte, der diversen Uhren, zu verändern (oder, um sie in Erfahrung zu bringen) verwende folgende Variable:
alarm[0..11] Wert der angezeigten Alarmuhr (alarm clock). (Achtung: Alarmuhren werden nur aktualisiert, wenn das "alarm event" des entsprechenden Objektes auch "actions" enthält!)
Wir haben schon erfahren, das du für komplizierte Timing-Aufgaben die "time line" (Zeitlinie) Komponente verwenden kannst. Jede Instanz kann mit einer "time line" verknüpft werden. Folgende Variablen befassen sich damit:
timeline_index Index der "time line", welche mit der Instanz verknüpft ist. Du kannst hier die "time line" angeben, die verwendet werden soll.
Setze es auf -1, um ein Verwenden der "time line" zu unterbinden.
timeline_position Aktuelle Position innerhalb der "time line". Du kannst dies ändern, um Teile auszulassen oder zu wiederholen.
timeline_speed Normalerweise wird bei jedem Schritt (step) die Positionsmarke der "time line" um 1 erhöht. Du kannst diesen Betrag ändern, indem du der Variablen einen anderen Wert zuweist. Du kannst reelle Zahlen verwenden, z. B. 0.5(auf den Punkt achten!). Wenn der Wert grösser als eins ist, können mehrere Momente in einem (im selben) Schritt (step) abgearbeitet werden. Sie werden der Reihe nach ausgeführt, so dass keine "action" ausgelassen wird.
Alternative Versionen
Du kannst dieses Handbuch auch auf einer langen Seite (± 1.5 mb) ansehen.
Auch verfügbar in:
Download helpfile
Auch verfügbar in:
Download helpfile