Problem mit draw_text

  • Problem mit draw_text

    Also ich bin noch ziemlicher Anfänger und weis nicht ob meine Frage überhaupt erwähgnenswert ist aber...

    Ich programmiere gerade an einem Spiel herum ich habe ein Problem.

    Ich habe diesen script bei Create 'hingesetzt', jedoch zeigt es beim Start des Programmes nichts in der linken oberen Ecke (0,0) an.

    GML-Quellcode

    1. score = 200;
    2. draw_set_font(1);
    3. draw_set_halign(fa_left);
    4. draw_set_valign(fa_middle);
    5. draw_text(050,"Energie: "+string(score));


    Warum ist das so und wie kann ich das ändern?
  • 1. Wird das Create Event nur einmal ganz am Anfang ausgeführt, d.h. man würde den Text nur ganz am Anfang weniger als eine Sekunde lang sehen
    2. Müssen alle Funktionen mit "draw" im Draw-event aufgerufen werden, da sie sonst nicht funktioniere.
    Wenn du den Text nun zB die ersten 10 sekunden anzeigen willst, empfehle ich dir, eine Variable (zB drawtext) im create event auf true zu setzen, außerdem einen Alarm auf 300 (für 10 sekunden bei room speed 30: 30*10 = 300), im Alarm Event dann drawtext auf false, und im Draw Event:

    GML-Quellcode

    1. if(drawtext == true)
    2. {
    3. draw_set_font(1);
    4. draw_set_halign(fa_left);
    5. draw_set_valign(fa_middle);
    6. draw_text(050,"Energie: "+string(score));
    7. }


    Außerdem musst du beachten, dass sobald etwas im Draw Event steht, das Sprite des Objektes nicht mehr angezeigt wird. Du musst dafür dann zusätzlich draw_sprite(sprite_index,image_index,x,y) ins Draw Event schreiben.

    //Edit: mist, war einer schneller, aber vielleicht helfen dir die zusätzlichne Hinweise noch weiter
    “Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)

    Ich schreibe mit Neo.

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

  • Ah danke ihr habt mir viel geholfen :top:

    //Edit:
    Hm... hab den Script bei Draw Event eingegeben:

    ___________________________________________
    ERROR in
    action number 1
    of Draw Event
    for object Player1:

    Error in code at line 5:
    if(drawtext == true)

    at position 5: Unknown variable drawtext


    Hab ich was falsch gemacht?

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

  • Ich glaube du willst das der Text permanent angezeigt wird?
    Dann kopiere

    GML-Quellcode

    1. draw_set_font(1);
    2. draw_set_halign(fa_left);
    3. draw_set_valign(fa_middle);
    4. draw_text(x,y,"Energie: "+string(score)); /*050? was soll das genau bedeuten, da gibts 100% ne Fehlermeldung!
    5. x und y anpassen.*/

    in ein Draw Event

    Bottleneck´s Lösung gilt nur für den fall, wenn du den Text nur für eine Bestimmte Zeit anzeigen willst. Dann must du die Variable im Create Event deklarieren: drawtext =1;

    Edit: Sorry, mein Fehler^^



    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von B. Eagle ()