Gezeichnete Schriften zentrieren

  • GM 8
  • Gezeichnete Schriften zentrieren

    Hi :)

    Und gleich die nächste Frage... Wie zentriere ich draw_text-Texte? Also, wie lasse ich Texte zentriert anzeigen? Ich brauche das für eine Anzeige des Namens der momentan gewählten Einheit und der Name ist natürlich immer unterschiedlich lang.

    Wenn ich die x und y-Koordinaten bei draw_text eingebe, erscheint der Text immer nach diesen, weil diese die linke obere Ecke angeben. Muss ich dafür ein Objekt erstellen und den Text dann relativ zu diesem zeichnen mit obj.sprite_width/2 und obj.sprite_height/2 oder geht das auch irgendwie anders?

    GML-Quellcode

    1. // Beispiel: obj_pic ist 100x100 Pixel groß.
    2. draw_text(obj_pix.sprite_width/2, obj_pic.sprite_height/2, "test 123 text");


    Wie man Text links- und rechtsbündig ausrichtet, würde mich dann interessehalber auch interessieren.

    GML-Quellcode

    1. if ! (freedom) { instance_destroy(gamemaker); instance_create(x, y, html5); }

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Bonsaiheld ()

  • Mit string_width und string_height kannst du die Breite bzw die Höhe des Textes herrausfinden:
    Spoiler anzeigen
    string_width(string) Breite des Strings wie er in der
    eingestellten Schriftart mit der draw_text() Funktion
    gezeichnet werden würde. Das kann dazu benutzt werden um Grafiken
    präzise zu platzieren.

    string_height(string) Höhe des Strings wie er in
    der
    eingestellten Schriftart mit der draw_text() Funktion
    gezeichnet werden würde.
    Dann kannst du das folgende tun:

    GML-Quellcode

    1. draw_text(x-string_width(str)/2, y-string_height(str)/2, str);

    Dann ist der Text sowohl auf der x Ebene zentriert als auch auf der y Ebene. Jenachdem was du willst.
    Alternativ kannst du die folgende Funktionen benutzen:
    Spoiler anzeigen
    draw_set_halign(halign) Setzt die horizontale
    Ausrichtung für Text. Benutze eine der folgenden Konstanten:
    fa_left links
    fa_center zentriert
    fa_right rechts

    draw_set_valign(valign) Setzt die vertikale
    Ausrichtung für Text. Benutze eine der folgenden Konstanten:
    fa_top oben
    fa_middle mittig
    fa_bottom unten

    GML-Quellcode

    1. draw_set_halign(fa_center);
    2. draw_set_valign(fa_middle);
    3. draw_text(x, y, str);
    4. draw_set_halign(fa_left);
    5. draw_set_valign(fa_top);
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Benutzer online 1

    1 Besucher