Problem mit Font sprite unter Game Maker Studio 2

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Problem mit Font sprite unter Game Maker Studio 2

    Hallo.
    Also ich wollte gerade eine Buttons für Spielmenü machen der aus Textsprite besteht. Leider macht er nicht das was er machen soll. Denn eigentlich will ich so machen das wenn z. B. der Text "Spielen" Button mit Maus berührt wird, das der Spielenbutton zur GoldSchrift Sprite ändert, und die andere restliche Button soll Silber bleiben. Doch das problem ist, es ist ganz egal mit welche Schriftsprite mit dem Maus berührt, es werden alle in Goldschrift gemacht. Da es für mich über diese Problem schwer zu erklären ist, habe ich deswegen dazu ein Problem Video gemacht:



    Und hier ist mein Quellcode von Objekt:
    [Ergegniss Erstellen]

    GML-Quellcode

    1. BuchstabenPosition = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜabcdefgijklmnopqrstuvwxyzäöü1234567890'§$%&/\\()=?+-#'*,.:_<>h ";
    2. SchriftBild = font_add_sprite_ext(Schloss2D_Schrift_Silber,BuchstabenPosition, false, 0);
    3. xSkalier = 0.30;ySkalier = 0.30;
    4. draw_set_font(SchriftBild)TextName = "Beenden";
    [Zeichnen Ereigniss]

    GML-Quellcode

    1. draw_text_transformed(x,y, TextName, xSkalier, ySkalier, image_angle);

    [Ereigniss Maus Beitreten]

    GML-Quellcode

    1. SchriftBild = font_add_sprite_ext(Schloss2D_Schrift_Gold_Dick,BuchstabenPosition, false, 0);
    2. draw_set_font(SchriftBild)

    [Ereigniss Maus Verlassen]

    GML-Quellcode

    1. SchriftBild = font_add_sprite_ext(Schloss2D_Schrift_Silber,BuchstabenPosition, false, 0);
    2. draw_set_font(SchriftBild)


    Ich hoffe das jemand sich mehr mit Game Maker Studio auskennt, und das ihr eine Lösung findet was ich bei diese Code ändern kann?
  • Mit draw_set_font setzt du soweit ich weiß alle Schriftarten in die angegebene. (Gleiches Prinzip wie draw_set_color...)

    Ich habe es immer mit einem Hover-Script gemacht, welches ich im Step-Event ausgeführt habe.
    Anhand deines Beispieles könnte es so funktionieren:

    Step-Event:

    GML-Quellcode

    1. if (position_meeting(mouse_x, mouse_y, self))
    2. {
    3. SchriftBild = font_add_sprite_ext(Schloss2D_Schrift_Gold_Dick,BuchstabenPosition, false, 0);
    4. draw_set_font(SchriftBild)
    5. }
    6. else
    7. {
    8. SchriftBild = font_add_sprite_ext(Schloss2D_Schrift_Silber,BuchstabenPosition, false, 0);
    9. draw_set_font(SchriftBild)
    10. }


    Das kannst du entweder so ins Step-Event reinhauen, oder du erstellst ein Script und führst das dann im Step-Event aus.
    Dazu müsstest du dann deine beiden Ereignisse mit Maus betreten und Maus Verlassen natürlich wieder löschen.

    ABER:
    Ich würde die Font nur ein mal im Create-Event hinzufügen und dann mit draw_set_font im Step Event ändern, sonst erstellst du ja immer die gleiche wieder neu quasi, obwohl sie schon existiert.
    Sprich ich würde es dann nochmal so abändern:

    Create-Event:

    GML-Quellcode

    1. SchriftBild1 = font_add_sprite_ext(Schloss2D_Schrift_Silber,BuchstabenPosition, false, 0);
    2. SchriftBild2 = font_add_sprite_ext(Schloss2D_Schrift_Gold_Dick,BuchstabenPosition, false, 0);



    Step Event:

    GML-Quellcode

    1. if (position_meeting(mouse_x, mouse_y, self))
    2. {
    3. draw_set_font(SchriftBild2)
    4. }
    5. else
    6. {
    7. draw_set_font(SchriftBild1)
    8. }



    Ich hoffe das klappt so und ich konnte dir weiterhelfen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von icqgamer ()