draw_caption_of_button

    • Skript

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

    • draw_caption_of_button

      vielleicht gibts das schon aber egal!!! :P
      auf jeden fall kann man mit dem skript einen satz auf den button drawen lassen und die size der schriftart nimmt die passende größe an!!!
      falls der text zu lange wird verdoppelt,verdreifach,vervierfach sich der button automatisch!!! Ich hoffe das kann wer brauchen oder falls es schon gibt egal dann gibt es das nun nochmal!!!

      GML-Quellcode

      1. xsc = 1
      2. //argument0 = caption
      3. //Button im format 5:1 sind am geeignesten
      4. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      5. draw_set_font(fon_c)
      6. draw_set_halign(fa_middle)
      7. draw_set_valign(fa_center)
      8. if (string_length(argument0)*sprite_height/4 >= 120)
      9. {
      10. xsc = 2
      11. }
      12. if (string_length(argument0)*sprite_height/4 >= 240)
      13. {
      14. xsc = 3
      15. }
      16. if (string_length(argument0)*sprite_height/4 >= 360)
      17. {
      18. xsc = 4
      19. }
      20. draw_sprite_stretched(sprite_index,0,x,y,sprite_width*xsc,sprite_height)
      21. draw_text(x + (sprite_width*xsc/2),y + (sprite_height/2),argument0)
      Alles anzeigen

      und die init

      GML-Quellcode

      1. xsc = 1
    • danke henrik1235,jetzt funts auch ohne init!!!

      GML-Quellcode

      1. var xsc;
      2. xsc = 1
      3. //argument0 = caption
      4. //Button im format 5:1 sind am geeignesten
      5. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      6. draw_set_font(fon_c)
      7. draw_set_halign(fa_middle)
      8. draw_set_valign(fa_center)
      9. if (string_length(argument0)*sprite_height/4 >= 120)
      10. {
      11. xsc = 2
      12. }
      13. if (string_length(argument0)*sprite_height/4 >= 240)
      14. {
      15. xsc = 3
      16. }
      17. if (string_length(argument0)*sprite_height/4 >= 360)
      18. {
      19. xsc = 4
      20. }
      21. draw_sprite_stretched(sprite_index,0,x,y,sprite_width*xsc,sprite_height)
      22. draw_text(x + (sprite_width*xsc/2),y + (sprite_height/2),argument0)
      Alles anzeigen
      :thumbup:
    • Ich sehe immer noch einen gravierendes problem mit deim script: font_add() im draw event. Hasst du schon mal diesen script eine weile laufen lassen? Es wird schon mal vorkommen das jemand ne strunde spielt, das sind 108.000 steps. Das sind also 108.000 mal font_add(). Also wirklich, 1. mal reicht auch :P

      MfG SDX
    • GML-Quellcode

      1. if (variable_local_exists('fon_c'))
      2. {
      3. if !(font_exists(fon_c))
      4. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      5. }
      6. else
      7. {
      8. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      9. }

      © 2008 by Teamgrill Productions
    • ist fon_c dann nicht nur local innerhalb des if-statements existent?
      im create event ist zu empfehlen, das schafft auch übersicht.
      "das war meine letzte flamewar PM an dich ."
    • danke,
      die hoffentlich endgültige version ist dann diese:

      GML-Quellcode

      1. var xsc;
      2. xsc = 1
      3. //argument0 = caption
      4. //Button im format 5:1 sind am geeignesten
      5. if (variable_local_exists('fon_c'))
      6. {
      7. if !(font_exists(fon_c))
      8. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      9. }
      10. else
      11. {
      12. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      13. }
      14. draw_set_font(fon_c)
      15. draw_set_halign(fa_middle)
      16. draw_set_valign(fa_center)
      17. if (string_length(argument0)*sprite_height/4 >= 120)
      18. {
      19. xsc = 2
      20. }
      21. if (string_length(argument0)*sprite_height/4 >= 240)
      22. {
      23. xsc = 3
      24. }
      25. if (string_length(argument0)*sprite_height/4 >= 360)
      26. {
      27. xsc = 4
      28. }
      29. draw_sprite_stretched(sprite_index,0,x,y,sprite_width*xsc,sprite_height)
      30. draw_text(x + (sprite_width*xsc/2),y + (sprite_height/2),argument0)
      Alles anzeigen
      :thumbup:
    • Hey das ist ja unglaublich was GML da zulässt! Egal wo oder wie ich eine Variable definier, sie ist immer global aufs ganze Objekt :O Ich dachte bisher es wäre nur bei Skripts so(Was ja schon schlimm genug ist, da ich alle (ALLE!) Variablen einzigartig bennenen muss), aber sogar innerhalb eines Statements?
      Wer hat sich das nur ausgedacht... 90% meiner Fehler kommen von irgendeinem modifizierten i aus nem Skript oder Schleife oder dergleichen... sry ot.. :/
      "das war meine letzte flamewar PM an dich ."
    • Und wie is es jetzt 5
      1.  
        Gut (3) 60%
      2.  
        Werd ich nie verwenden (2) 40%
      3.  
        Praktisch (0) 0%
      4.  
        Geht besser (0) 0%
      5.  
        Schlecht (0) 0%
      wnn ihr das nicht wollt:

      GML-Quellcode

      1. var xsc;
      2. xsc = 1
      3. //argument0 = caption
      4. //Button im format 5:1 sind am geeignesten
      5. if (variable_local_exists('fon_c'))
      6. {
      7. if !(font_exists(fon_c))
      8. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      9. }
      10. else
      11. {
      12. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)
      13. }
      14. draw_set_font(fon_c)
      15. draw_set_halign(fa_middle)
      16. draw_set_valign(fa_center)
      17. if (string_length(argument0)*sprite_height/4 >= 120)
      18. {
      19. xsc = 2
      20. }
      21. if (string_length(argument0)*sprite_height/4 >= 240)
      22. {
      23. xsc = 3
      24. }
      25. if (string_length(argument0)*sprite_height/4 >= 360)
      26. {
      27. xsc = 4
      28. }
      29. draw_sprite_stretched(sprite_index,0,x,y,sprite_width*xsc,sprite_height)
      30. draw_text(x + (sprite_width*xsc/2),y + (sprite_height/2),argument0)
      Alles anzeigen

      dann so mit init:

      GML-Quellcode

      1. fon_c = font_add("Courier New",(sprite_height/4)*2,0,0,0,255)

      und der skript der caption:

      GML-Quellcode

      1. var xsc;
      2. xsc = 1
      3. //argument0 = caption
      4. //Button im format 5:1 sind am geeignesten
      5. draw_set_font(fon_c)
      6. draw_set_halign(fa_middle)
      7. draw_set_valign(fa_center)
      8. if (string_length(argument0)*sprite_height/4 >= 120)
      9. {
      10. xsc = 2
      11. }
      12. if (string_length(argument0)*sprite_height/4 >= 240)
      13. {
      14. xsc = 3
      15. }
      16. if (string_length(argument0)*sprite_height/4 >= 360)
      17. {
      18. xsc = 4
      19. }
      20. draw_sprite_stretched(sprite_index,0,x,y,sprite_width*xsc,sprite_height)
      Alles anzeigen
      :thumbdown: :thumbup:
    • Benutzer online 1

      1 Besucher