Es gibt viele verschiedene Möglichkeiten, sein Spiel zu pausieren. Die meisten jedoch sind sehr aufwändig und brauchen oft viel Zeit und/oder Können. Auch wenn man beides besitzt, heißt das noch lange nicht, dass die Pause-Funktion eures Spiels sehr effektiv und, was mir sehr am Herzen liegt, sauber gecodet ist. In diesem Tutorial werde ich euch kurz und knackig beschreiben, wie man es effektiv und sauber macht.
Voraussetzungen:
- Einigermaßen gutes GML-Verständnis.
- Die Gabe, unbekannte Funktionen in der Hilfe nachzuschlagen.
- Game Maker 6 oder höher.
Soweit ich durchblicke, braucht man dafür nicht einmal die registrierte / Pro-Version.
Warnung: Ich zeige euch hier nicht, wie ihr die Instanz erstellt und/oder löscht.
Genauso wenig werde ich beschreiben, wie ihr Optionen, Grafiken oder ähnliches in euer Pause-Menü einbaut, das ist euer Ding.
Hinweis: Wenn ihr euer Draw Event noch für andere Dinge außer den Draw-Aktionen benutzt,
müsst ihr diese Teile eventuell in ein anderes Event verlagern (es bietet sich das End Step Event an).
Nun zu den Codes:
Create:
Ja genau, das ist unsere Idee dahinter: Automatisches Zeichnen und Instanzen deaktivieren.
Destroy:
Das genaue Gegenstück zum Create Event:
Step:
Jetzt kommen wir zur eigentlichen Hauptattraktion.
Hier werden kurz alle Instanzen aktiviert und der Fensterinhalt neu gezeichnet,
also alle Draw-Events ausgeführt, natürlich in der gleichen Reihenfolge wie normalerweise.
Draw:
Und weil es sonst ziemlich doof aussehen würde, zeichnen wir über das Ganze noch ein halbtransparentes, schwarzes Rechteck drüber:
(Damit das wie gewünscht funktioniert muss der Depth-Wert des Objektes unter allen anderen liegen.)
Und wenn ihr den Quatsch mit dem durchsichtigen Pause-Bildschirm nicht haben wollt, entfernt das Step Event und das set_automatic_draw() aus dem Create- und Destroy-Event.
Das war es auch schon, ich hoffe es hilft einigen
Gruß, euer kopierjunge
Voraussetzungen:
- Einigermaßen gutes GML-Verständnis.
- Die Gabe, unbekannte Funktionen in der Hilfe nachzuschlagen.
- Game Maker 6 oder höher.
Soweit ich durchblicke, braucht man dafür nicht einmal die registrierte / Pro-Version.
Warnung: Ich zeige euch hier nicht, wie ihr die Instanz erstellt und/oder löscht.
Genauso wenig werde ich beschreiben, wie ihr Optionen, Grafiken oder ähnliches in euer Pause-Menü einbaut, das ist euer Ding.

Hinweis: Wenn ihr euer Draw Event noch für andere Dinge außer den Draw-Aktionen benutzt,
müsst ihr diese Teile eventuell in ein anderes Event verlagern (es bietet sich das End Step Event an).
Nun zu den Codes:

Ja genau, das ist unsere Idee dahinter: Automatisches Zeichnen und Instanzen deaktivieren.

Das genaue Gegenstück zum Create Event:

Jetzt kommen wir zur eigentlichen Hauptattraktion.
Hier werden kurz alle Instanzen aktiviert und der Fensterinhalt neu gezeichnet,
also alle Draw-Events ausgeführt, natürlich in der gleichen Reihenfolge wie normalerweise.

Und weil es sonst ziemlich doof aussehen würde, zeichnen wir über das Ganze noch ein halbtransparentes, schwarzes Rechteck drüber:
(Damit das wie gewünscht funktioniert muss der Depth-Wert des Objektes unter allen anderen liegen.)
Und wenn ihr den Quatsch mit dem durchsichtigen Pause-Bildschirm nicht haben wollt, entfernt das Step Event und das set_automatic_draw() aus dem Create- und Destroy-Event.
Das war es auch schon, ich hoffe es hilft einigen

Gruß, euer kopierjunge

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von copyboy ()