Skripte für Textformatierung

  • 3Minuten

Für Aufgaben, die immer wieder anfallen, schreibt man in GML Skripte. Das ist äußerst praktisch und spart viel Arbeit. Mittlerweile kann man sogar mehrere Funktionen in ein Skript stecken, was die Übersicht erhöht. Da Textformatierungen in fast allen Spielen vorkommen, zeige ich hier meine drei am häufigsten verwendeten Funktionen, die ich immer wieder (aktuell GMS 2.3) anpasse.

Texte formatieren

Texte kommen in fast allen Spielen vor. Manchmal nur für Menüs, oft aber für Spielebeschreibungen, Statistiken, Dialoge etc. Dabei kann es sich bei Texten auch um Zahlen handeln. Im Grunde geht es um alles, was wir normalerweise mit draw_text() an den Spieler weitergeben.

Diese Texte wollen schön formatiert sein. GML bietet uns bereits einige Möglichkeiten. Wir können Schriften definieren, Farben, horizontale und vertikale Ausrichtung sowie Transparenz. Aber drei wichtige Formatierungen müssen wir selbst vornehmen:

  • Text mit Schatten
  • Text mit Umrandung
  • Text, der an einer bestimmten Pixel-Breite umgebrochen wird

Genau darum kümmern wir uns in diesem Tutorial. Die Skripte kannst Du natürlich individuell anpassen.

Ursprung der Skripte

Die nachfolgenden Skripte sind nicht von mir. Schatten und Umrandung verwende ich schon ewig und passe sie an die jeweilige GMS-Version an, sofern sich etwas in GML ändert. Wo der Ursprung dieser Skripte liegt, kann ich leider nicht mehr sagen.

Das Skript draw_text_limit_width() kommt ursprünglich von gmlscripts.com. Eine tolle Seite, aber die Skripte sind, soweit ich gesehen habe, schon etwas veraltet.

Anpassungen an GMS 2.3

Wer die Version 2.3 von GameMaker Studio verwendet, kann die Skripte sofort verwenden. Im Vergleich zu älteren Versionen habe ich die Argumente geändert und eine ausführliche Beschreibung hinzugefügt. Dadurch taucht automatisch in der unteren Hilfe-Zeile das passende Argument auf. Es fühlt sich also an, als würde man eine normale GML-Funktion aufrufen.

Außerdem ist der ganze Code ausführlich kommentiert, weswegen ich auf weitere Erklärungen verzichte. Sollte es dennoch Fragen geben, könnt ihr diese gerne als Kommentar hinterlassen.

Im Titelbild sieht man übrigens alle drei Skripte im Einsatz.

draw_text_shadow()

draw_text_outline()

draw_text_limit_width()

Dieses Skript sollte man nicht im Draw-Event verwenden! Am besten im Create-Event, etwa so:

Die Schrift müssen wir schon hier definieren, damit das Skript die Breite berechnen kann. Anschließend kann die Variable txt im Draw-Event verwendet werden. Bspw so:

Autor

Abonnieren
Benachrichtige mich bei
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x