Oft ist es erforderlich, Sprites zu spiegeln. Natürlich kann man ein spiegelverkehrtes Sprite erstellen, aber je nach Anzahl der Bilder kann das dein Spiel deutlich und vor allem unnötig vergrößern. Doch GameMaker bietet keinen „mirror”-Befehl, auch kein draw_sprite_mirror
oder ähnliches. Also, wie macht man das?
In GameMaker erreicht man Spiegelungen von Sprites über die Skalierung. Beispielsweise durch die Verwendung von image_xscale
, wobei man image_xscale = -1
setzt. Dadurch wird das Bild horizontal gespiegelt, während image_yscale = -1
es vertikal spiegelt.
Das Gleiche funktioniert auch mit den Draw-Befehlen, die eine Skalierung ermöglichen. Hier ist ein Beispiel:
draw_sprite_ext(spr_logo, 0, x, y, -1, 1, 0, c_white, 1);
Damit haben wir das Sprite spr_logo
horizontal gespiegelt.
Achtung: Durch die Spiegelung wird auch der Ursprung (Origin) gespiegelt, daher müssen die Koordinaten entsprechend angepasst werden!
Weiterführende Links
Timing in GameMaker-Projekten
Shader-Effekt: Wellen für den Hintergrund
Projekt Snake
Projekt Tic-Tac-Toe – Teil 1