TV-Out Effekt

5. Dezember 2016

Mit den Zeichenfunktionen in GameMaker lassen sich sehr leicht kleine Effekte erzeugen, mit denen man beispielsweise aus dem Level oder aus dem Spiel gehen kann. Der TV-Out Effekt ist sehr simpel, aber wirkungsvoll.

Im Prinzip ist der Effekt recht einfach und wirkt, wie ein alter Fernseher, der ausgeschaltet wird. Zu Retro-Spielen passt der Effekt deswegen so gut, weil die Arcade-Spiele und älteren Konsolen an eben solchen Fernsehern bzw. Röhrenbildschirmen angeschlossen waren.

Um den Effekt isoliert zu betrachten, brauchen wir lediglich einen Raum und zwei Objekte. Zwei Objekte deswegen, weil wir den Effekt nach dem Spielstart manuell starten wollen. Würde er sofort starten, könnten wir den Anfang des Effekt nicht bemerken.

Vorbereitung

Wir erstellen einen Raum mit der Auflösung 1024×768. Den Hintergrund machen wir Pink, damit wir den Übergang besser sehen. Im richtigen Spiel haben wir an dieser Stelle viele Objekte, Sprites und Tiles, aber für den Test brauchen wir das alles nicht.

Nun erstellen wir zwei Objekte. obj_tv_out für den Effekt und obj_creator, um den Effekt zu starten. In den Raum setzen wir dann obj_creator und schließen ihn.

obj_creator

Event release <Space>

 

Wir starten lediglich den Effekt mit der Leertaste.

obj_tv_out

Der Effekt besteht aus vier Schritten. Erst wird der Bildschirm ganz schwarz, dann kurz komplett weiß. Anschließend wird er wieder schwarz und in der Mitte erscheint eine horizontale, weiße Linie, die immer kleiner wird. Sobald die Linie in der Mitte zu einem Punkt wurde, kann das Spiel oder der Raum verlassen werden. Im Beispiel ist ersteres der Fall.

Event Create

 

Erst einmal wird das Objekt an die Position 0 / 0 gesetzt. Die Variable xx brauchen wir für die Linie. Da wir mit einem schwarzen Bildschirm beginnen, ist die Farbe an. Weiß und Linie stehen auf Aus. Mit Alarm 0 lösen wir den Farbwechsel aus.

Event Alarm 0

 

Hier schalten wir die beiden Variablen um und starten Alarm 1, wo der nächste Wechsel stattfindet. Das Timing kann man natürlich anpassen, indem man die Zeit hoch oder runter setzt.

Event Alarm 1

 

Die Farben werden erneut umgeschaltet und die Linie aktiviert.

Event Draw

 

Der Code besteht aus drei Abschnitten. Wenn Schwarz aktiviert ist, wird über den ganzen Raum ein schwarzes Rechteck gezeichnet, welches alles dahinter abdunkelt. Wenn es auf Weiß steht, machen wir das Gleiche mit einem weißen Rechteck.

Anschließend kommt die Linie. Eigentlich ist dies auch ein Rechteck, aber nur 3 Pixel breit. Die Variable xx steht Am Anfang auf 0 und wir rechnen in jedem Step 10 Pixel dazu. xx wird von der Raumbreite abgezogen, dadurch wird die Linie immer kleiner. Wenn xx kleiner oder gleich groß ist, wie die Hälfte der Raumbreite, wird nur noch der Punkt in der Mitte angezeigt. Wie schnell sich die Linie zusammen zieht, kann man an der kommentierten Stelle einstellen.

Event Draw

Wenn der Punkt erreicht ist, wird in diesem Beispiel das Spiel beendet. Man kann aber auch den Raum wechseln oder sonst etwas machen.

Es ist darauf zu achten, dass Depth am Objekt so niedrig eingestellt ist, dass der Effekt auf jeden Fall alle anderen Objekte überdeckt. Wenn ihr die GUI über Draw-GUI einstellt, solltet ihr das mit dem TV-Out auch machen, oder die GUI in dieser Zeit über eine Variable ausblenden. Am besten wirkt der Effekt, wenn ihr noch ein entsprechendes Sample abspielt.

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar
1024