Font extern laden

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

  • In der Hilfe steht genug darüber:
    Spoiler anzeigen

    font_add(name,size,bold,italic,first,last) Fügt eine neue Schriftart hinzu und gibt deren Index zurück, Name, Größe und ob fett oder kursiv, und das erste und letzte Zeichen müssen angegeben werden.
    font_add_sprite(spr,first,prop,sep) Fügt eine neue Schriftart hinzu und gibt deren Index zurück. Die Schriftart wird aus einem Sprite gemacht. Das Sprite muss ein Subimage für jedes Zeichen enthalten. first gibt das erste Zeichen in dem Sprite an. Beispielsweise kannst du ord('0') benutzen wenn dein Sprite die Zahlen enthält. prop gibt an, ob die Schriftart proportional ist. In einer proportionalen Schriftart wird für jedes Zeichen die Bounding Box als Breite genommen. Schließlich gibt sep den horizontalen Abstand der Zeichen in Pixeln an. Ein typischer Wert liegt zwischen 2 und 8, ja nach Schriftgröße.
    font_replace(ind,name,size,bold,italic,first,last) Ersetzt die Schriftart ind mit einer neuen Schriftart, gebe Namen, Größe, fett oder kursiv, und das erste und letzte Zeichen an.
    font_replace_sprite(ind,spr,first,prop,sep) Ersetzt die Schriftart ind mit einer neuen, sprite-basierenden Schriftart.
    font_delete(ind) Löscht die angegebene Schriftart und gibt deren Speicher frei.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Last ist das letzte Zeichen, dass im Font eingeschlossen wird.
    Und nutzen tust du den Font so, wie du jeden anderen bereits
    vorher definierten Font auch benutzen würdest.
    Gruß, Spellmaker
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Und wie kann man den kompletten Zeichensatz auswählen? (Oder wie kann man ihn herausfinden?)

    Und noc heine kleine Frage die nicht mit dem Thema zu tun hat:

    Man kann doch überprüfen welche Mastuaste gedrückt wird.
    ich glaub mit mouse:check_button_pressed(mb_left);

    Doch in welches event soll ich diesen Script stecken? Ic hwill nähmlich dadurch ein Sprite eines Objekts ändern solange der Mouse Button left gedrückt wird....
  • In's Step Event...

    GML-Quellcode

    1. if (mouse_check_button(mb_left))
    2. sprite_index = spr_sprite2;
    3. else
    4. sprite_index = spr_sprite1;
    Und um den kompletten, vom GM unterstützten Zeichensatz auszuwählen, musst du bei first 0, und bei last 255 eingeben.

    Edit: Fehler korrigiert.

    MfG,
    -fabse64

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

  • So ähnlich habe ich es eben gemacht. Doch es funktioniert nicht.

    Der Code:

    Quellcode

    1. if (Menuewindow=0){
    2. Menuewindow=1;
    3. instance_create(0,304,obj_startfenster);
    4. if mouse_check_button_pressed(mb_left){
    5. sprite_index =spr_Menuebutton_pressed;
    6. }else{
    7. sprite_index=spr_Menuebutton;
    8. }
    9. }
    10. else
    11. {
    12. Menuewindow=0;
    13. with (obj_startfenster) instance_destroy();
    14. if mouse_check_button_pressed(mb_left){
    15. sprite_index=spr_Menuebutton_pressed;
    16. }else{
    17. sprite_index=spr_Menuebutton;
    18. }
    19. }
    Alles anzeigen


    Ic hhabe es ins Left Mouse Release Event eingefügt.

    Was stimmt aber nicht sodass es nicht funktioniert?
  • Ich habe ein Problem.

    Ic hhabe im Room Start Event den Code eingefügt:

    Quellcode

    1. font_add("LucidaHandwrit.ttf",12,false,false,0,255);


    und im Draw event:

    Quellcode

    1. draw_set_font("LucidaHandwrit.ttf");
    2. draw_set_halign(fa_left);



    Wird da die Font für alle Objekte udn Texte übernommen? Bei mir ändert sich nähmlich die Font nicht...
  • LEWA schrieb:

    Außerdem: Kann man die Font so einsetzen, dass sie algemein bei allen texten genutzt wird? (So wie global.variable...)
    Der Font gilt ohnehin als global. Durch 'draw_set_font()' wird jeder Text des Spiels in dieser Schriftart geschrieben. Wenn du bei anderen Texten andere Arten haben willst, musst vor der Ausgabe dieser wieder die Textart umstellen.
  • ich poste mal den kompletten code :

    Room Start event:

    Quellcode

    1. font_add("LucidaHandwrit.ttf",12,false,false,0,255);
    2. font_add("LucidaHandwrit.ttf",12,false,false,0,255);
    3. if (file_exists("BGLoadAutorun.cfg")) {
    4. file=file_text_open_read ("BGLoadAutorun.cfg");
    5. file_path = file_text_read_string(file);
    6. sprite_bg = sprite_add(file_path,false,false,false,false,false,0,0);
    7. draw_sprite(sprite_bg,0,-1,0);
    8. file_text_close(file);
    9. }


    Draw event:

    Quellcode

    1. draw_set_font("LucidaHandwrit.ttf");
    2. draw_set_halign(fa_left);
    3. if (sprite_exists(sprite_bg)){
    4. draw_sprite(sprite_bg,0,-1,0);
    5. }
    6. draw_text(875,746,string(current_hour)+":"+string(current_minute)+":"+string(current_second));
    7. draw_text(945,746,string(current_day)+"."+string(current_month)+"."+string(current_year));
    Alles anzeigen


    Doch komischerweise will er die schriftart nicht übernehmen! Dabei habe ich sie extra als Datei (Font datei) im ein und denselben Ordner abgelegt. ?(
  • Du musst ihm die ID der Schriftart geben, nicht den Namen der Datei:

    GML-Quellcode

    1. font_lucida=font_add("LucidaHandwrit.ttf",12,false,false,0,255);
    2. draw_set_font(font_lucida);
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • Benutzer online 4

    4 Besucher