• 3Minuten
blank

Dank der Objekt-Basierten Logik in GameMaker ist es sehr einfach, einen klassischen Textscroller zu erschaffen.

Es gibt sehr viele verschiedene Arten, Text über den Bildschirm scrollen zu lassen. Die zwei einfachsten sind der horizontale Scroller, der meist von rechts nach links läuft, und der vertikale Scroller, der zumeist von unten nach oben läuft. Wir erstellen heute in wenigen Schritten einen vertikalen Scroller, den man auch für einen Abspann im Spiel verwenden könnte.

Vorbereitung

textscroller2Wir brauchen einen Raum, am besten mit einem schwarzen Hintergrund und einem Speed von 60.

Als zweites brauchen wir eine Schrift. Nenne sie fnt_textscroller und mach sie nicht zu groß. Bei den meisten Schriften, die Du gerne frei wählen kannst, ist eine Größe zwischen 12 und 18 ganz gut. Wichtig ist, dass Du bei den Zeichen ASCII wählst, damit auch die Umlaute und das scharfe s angezeigt werden.

Nun brauchen wir nur noch ein Objekt, welches wir obj_textscroller nennen. Das kannst Du irgendwo im Raum positionieren. Da wir die Position im Code bestimmen, ist es eigentlich egal, wo das Objekt steht.

obj_textscroller

Im Onjekt brauchen wir drei Events. Im Prinzip würden sogar zwei reichen, aber wir wollen es ordentlich machen und die Draw-Ereignisse von der Steuerung des Objekts trennen.

Event Create

Erst einmal bestimmen wir die Ausgangsposition. Wir wollen einen vertikalen Scroller, der sich von unten nach oben bewegt. Wir setzen ihn auf der x-Achse mittig in den Raum und setzen ihn ganz nach unten. Die 20 Pixel, die wir zugeben, bedeuten, dass der Text auf jeden Fall aus dem Nichts, also von außerhalb des Raums kommt. Wenn Du es noch etwas verzögern willst, setze den Wert einfach hoch, zum Beispiel auf 200.

Hier wird das Prinzip offensichtlich. Unser Text ist ein Objekt, den wir über den Bildschirm bewegen werden. Das ist auch schon der ganze Zauber. Es ist nämlich egal, ob wir einen Sprite oder einen Text über den Bildschirm bewegen. Wenn Du bereits andere Tutorials gemacht hast, wird Dich das auf die Idee bringen, Texte entlang von Pfaden zu bewegen. Auch das kann sehr interessant aussehen.

In die Variable text schreiben wir nun rein, was wir dem Betrachter mitteilen möchten. GameMaker erkennt den Zeilenumbruch automatisch. Man kann diesen auch mit einer Raute, also #, im Text erzeugen, aber je mehr Zeilen der Text hat, umso weniger übersichtlich wird er, wenn man alles in eine Zeile schreibt.

Event Step

Hier bewegen wir das Objekt. Im Prinzip könnte man das auch im Draw-Event machen, aber es ist eleganter, wenn man Funktionalität und Zeichnung trennt. Wenn beides eng miteinander verwoben ist, was hier nicht der Fall ist, kann man auch gewisse Funktionen in den Draw-Event schreiben.

Das war es schon, in der Tat. So wird der Text nach oben gescrollt.

Event Draw

textscrollerErst einmal definieren wir die Schrift und dann eine Farbe. Anschließend zentrieren wir den Text horizontal. Das sieht bei solchen Scrollern einfach besser aus. Bei horizontalen Scrollern kann man, muss man aber nicht, den Text vertikal zentrieren. Das macht man so: draw_set_valign(fa_middle);

In der letzten Zeile wird der Text erzeugt. Da wir den Text im Create-Event definiert haben, genügt uns hier eine Variable.

Das war es auch schon. Du kannst das Programm starten und wirst sehen, wie Dein Text nach oben scrollt.

Änderungen in einen horizontalen Scroller

Du kannst diese Methode auch für horizontale Scroller, wie einem Liveticker, verwenden. Hierbei musst Du erst einmal die Position im Create-Event anpassen. Der Text sollte seitlich außerhalb des Bildschirms beginnen, aber nicht unterhalb des Raums stehen. Außerdem ist es von Vorteil, wenn der Text nur in einer Zeile ist.

Im Step-Event musst Du statt der x die y-Koordinate ändern. Im Draw-Event kannst Du die Zeile für die horizontale Ausrichtung durch die Zeile für die vertikale Ausrichtung ersetzen. Fertig!

Autor

Abonnieren
Benachrichtige mich bei
guest

1 Kommentar
Älteste
Neueste Meistgewählt
Inline Feedbacks
Alle Kommentare anzeigen