induviduelle Schriftformatierungen cO

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

  • induviduelle Schriftformatierungen cO

    Hallo

    Ich habe verschiedene Texte, die in verschiedenen Formatierungen(Fonts&Farbe) auftreten sollen, jedoch wird immer nur die aktuellste Formatierung für jeden Text übernommen. Die Lösung ist zu einfach und liegt mit Sicherheit vor meiner Nase, dennoch hab ich keine Ahnung, ihr allerdings um so mehr :D

    PS: Hoffe, keinen Thread des selben Themas übersehn zu haben..
    "das war meine letzte flamewar PM an dich ."
  • Hallo blubberblub

    Hier habe ich was für dich, vielleicht hilft es dir

    GML-Quellcode

    1. ////////////////////////////////////////////////
    2. // Farbeinstellungen //
    3. ////////////////////////////////////////////////
    4. {
    5. var farbe, raum, Bildmitte;
    6. farbe [1] = make_color_rgb(255,255,255); // Farbe weiß
    7. farbe [2] = make_color_rgb(168,0,0); // Farbe rot
    8. farbe [3] = make_color_rgb(84,252,252); // Farbe türkis
    9. farbe [4] = make_color_rgb(168,0,16); // Farbe lila
    10. farbe [5] = make_color_rgb(0,168,0); // Farbe grün
    11. farbe [6] = make_color_rgb(0,0,168); // Farbe blau
    12. farbe [7] = make_color_rgb(252,252,0); // Farbe gelb
    13. farbe [8] = make_color_rgb(168,84,0); // Farbe orange
    14. farbe [9] = make_color_rgb(128,44,0); // Farbe braun
    15. farbe [10] = make_color_rgb(252,84,84); // Farbe hell rot
    16. farbe [11] = make_color_rgb(84,84,84); // Farbe dunkel grau
    17. farbe [12] = make_color_rgb(128,128,128); // Farbe grau
    18. farbe [13] = make_color_rgb(84,252,84); // Farbe hell grün
    19. farbe [14] = make_color_rgb(84,84,252); // Farbe hell blau
    20. farbe [15] = make_color_rgb(168,168,168); // Farbe hell grau
    21. ////////////////////////////////////////////////
    22. // Texte auf den Bildschirm //
    23. ////////////////////////////////////////////////
    24. // Startbildschirm
    25. s1_txt1="bla bla bla bla bla"
    26. s1_txt2="bla bla bla bla"
    27. // Texte einschalten
    28. draw_set_font(fnt_C64er); // Kannst irgend ein Font nehmen den du hast
    29. draw_set_halign(fa_center); // Text zentrieren
    30. Bildmitte=room_width/2
    31. draw_set_color(farbe [8]);
    32. draw_text_transformed(Bildmitte,180,s1_txt1,2.5,1.5,0);
    33. draw_set_color(farbe [13]);
    34. draw_text_transformed(Bildmitte,220,s1_txt2,2,2.5,0);
    35. }
    Alles anzeigen


    Das ganze muss dann noch im Draw Event stehen.

    Gruss Drachen
  • Ich frage anders:
    Geht das?
    objectbla

    GML-Quellcode

    1. {
    2. draw_set_color(blabla)
    3. draw_text(blabla)
    4. }

    objectblub

    GML-Quellcode

    1. {
    2. draw_set_color(blub)
    3. draw_text(blub)
    4. }


    Ich weis einfach nicht so genau, wo jetzt der Gültigkeitsbreich für die Formatierungen ist und wie ich diesen verändern kann. Denn bisher wird für alle Texte nur eine Farbe/Font übernommen, sobald sich bei einem anderen Text, diese entsprechende Einstellung ändert.
    "das war meine letzte flamewar PM an dich ."
  • Was genau willst du jetzt erreichen? Möchtest du, dass sich ein einziger String z.B. in mehreren Farben darstellen lässt? Dann hilft dir die Lösung von Drache leider kein Stück.

    Vielleicht hilft dir das schon weiter:

    GML-Quellcode

    1. draw_text_ext(x,y,string,sep,w);

    Für 'w' kannst du deine gewünschte Zeilenbreite einstellen. Aber wie gesagt, ich weiß nicht wirklich, was du meinst.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Hallo blubberblub

    Hier ist mal einen Auszug aus der Hilfe für Draw Text siehe unten.

    Jetzt für die Verschiedene Texte.

    Ich habe mal bei einen meiner Programme alles in ein Script geschrieben, und es mit eine Seclet - Case Anweisung auf rufen lassen. wenn ich sie gebraucht habe. Einen Teilauszug aus diesen Script habe ich dir schon gepostet. Wenn du die Farbeinstellung nicht so machen möchtst wie sie im Script, gib es auch vom Game Maker vordefinierte Farbe.

    Es existieren viele vordefinierte Farben:
    c_aqua
    c_black
    c_blue
    c_dkgray
    c_fuchsia
    c_gray
    c_green
    c_lime
    c_ltgray
    c_maroon
    c_navy
    c_olive
    c_purple
    c_red
    c_silver
    c_teal
    c_white
    c_yellow

    die du dann mit
    draw_set_color(c_green); // als Beispiel
    vor jedem Textaufruf setzten sollst. Sobald du eine andre Farbe haben möchtest

    Wenn Dir das immer noch nicht hilft. Dann lade doch mal dein Prog hoch. Ich schau es mir mal an.
    Aber normaler weise sollte dir die Info reichen.


    Grauß Drachen ;)

    EDIT by Dragoon: hide-Tags hinzugefügt. Bitte nicht so lange Posts erstellen, das stört den Lesefluss.

    Auszug aus der Hilfe:
    Spoiler anzeigen

    Manchmal muss man in Spielen Text anzeigen und dafür musst du eine Schrift auswählen. Schriften werden durch Font Ressourcen definiert (du kannst diese entweder im Game Maker oder mit den Funktionen um Ressourcen zu erstellen, erzeugen). Es gibt verschiedene Funktionen, um Text auf verschiedene Arten zu zeichnen, aber in jeder gibst du die Position an, an der der Text auf dem Bildschirm erscheinen soll. Es gibt zwei Funktionen, die die horizontale und vertikale Ausrichtung des Textes zu dieser Position verändern:


    draw_set_font(font) Setzt die Schrift, die benutzt wird, wenn text gezeichnet wird. Benutze -1 um sie auf die Standard Schrift (Arial 12) zu setzen.
    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


    draw_text(x,y,string) Zeichnet den "string" (Zeichenkette) an Position x,y mit der eingestellten Farbe und Alpha. Ein # Symbol oder "carriage return" chr(13) oder "linefeed" chr(10) werden als Zeilenende gewertet; so kannst du mehrzeilige Texte zeichnen. (Verwende \# um das # Symbol darzustellen.)


    draw_text_ext(x,y,string,sep,w) Genauso wie obige Funktion, aber man kann zwei Argumente mehr angeben. sep gibt an, wie groß der Zeilenabstand in mehrzeiligem Text ist. Wenn du -1 benutzt, wird der normale Zeilenabstand benutzt. w gibt die Breite des Textes in Pixeln an. Zeilen die breiter als diese Breite sind, werden an Leerzeichen und Bindestrichen (-) umgebrochen. Benutze -1 um die Zeilen nicht umbrechen zu lassen.
    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.


    string_width_ext(string,sep,w) Breite des Strings wie er in der eingestellten Schriftart mit der draw_text_ext() Funktion gezeichnet werden würde. Das kann dazu benutzt werden um Grafiken präzise zu platzieren.
    string_height_ext(string,sep,w) Höhe des Strings wie er in der eingestellten Schriftart mit der draw_text_ext() Funktion gezeichnet werden würde.

    Die folgenden Funktionen ermöglichen es skalierten und rotierten Text und sogar Farbverläufe auf Texten zu zeichnen. Diese Funktionen sind nur in der registrierten Version des Game Makers verfügbar!


    draw_text_transformed(x,y,string,xscale,yscale,angle) Zeichnet den String an der angegebenen Position genau wie oben, aber horizontal und vertikal mit den angegebenen Werten skaliert und um den Winkel angle Grad gegen den Uhrzeigersinn gedreht.

    draw_text_ext_transformed(x,y,string,sep,w,xscale,yscale,angle) Kombiniert die Funktionen draw_text_ext und draw_text_transformed. Erlaubt es mehrzeiligen Text skalert und rotiert zu zeichnen.
    draw_text_color(x,y,string,c1,c2,c3,c4,alpha) Zeichnet den String an der angegebenen Position genau wie oben.


    Die vier Farben geben die Farben der vier Ecken (links-oben, rechts-oben, rechts-unten, links-unten) an. alpha ist der Transparenzwert, der benutzt werden soll (0-1).


    draw_text_ext_color(x,y,string,sep,w,c1,c2,c3,c4,alpha) Genau wie draw_text_ext() nur mit eingefärbten Ecken.
    draw_text_transformed_color(x,y,string,xscale,yscale,angle,c1,c2,c3,c4,alpha) Genau wie draw_text_transformed()nur mit eingefärbten Ecken.
    draw_text_ext_transformed_color(x,y,string,sep,w,xscale,yscale,angle,c1,c2,c3,c4,alpha) Genau wiedraw_text_ext_transformed() nur mit eingefärbten Ecken.