Frage zum Text Drawen

  • GM 8

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

  • Frage zum Text Drawen

    Ich möchte das ein Text gedrawt wird der in 2 sekunden Abständen sich erweitert ich habe diesen Code in ein Objekt ins Draw event gepackt:

    GML-Quellcode

    1. screen_redraw()
    2. sleep(room_speed*20)
    3. draw_text(x+32,y+32,"???: Guten Tag, <Subjekt Name hier einfügen>.")
    4. sleep(room_speed*20)
    5. draw_text(x+32,y+64,"Ich: W-Wer bist du? W-Wo bin ich?")
    6. sleep(room_speed*20)
    7. draw_text(x+32,y+96,"???: <Subjekt Name hier einfügen> hast noch genug Zeit dies rauszufinden.")
    8. sleep(room_speed*20)
    9. room_goto_next()


    Nur jezt erscheint der Text nicht und nach einer halben Sekunde wechselt er schon den Raum...
  • nach jedem Draw_text musst du screen_redraw einsetzen.
    Du gibts ihm die Anweisung dass er verschiedene Texte Drawen soll.
    Diese werden jedoch erst alle auf einmal (in dieser reihenfolge) an den Bildschirm übergeben. Bevor dies jedoch passieren kann, wächselst du schon den Raum.

    Du musst ihm IM Draw event explizit sagen dass er den Bildschirm jetzt erneuern soll. Tust du es nicht, macht er er dies erst am ende des Draw-Events wo es zu spät ist.


    GML-Quellcode

    1. screen_redraw()
    2. sleep(room_speed*20)
    3. draw_text(x+32,y+32,"???: Guten Tag, <Subjekt Name hier einfügen>.")
    4. screen_redraw()
    5. sleep(room_speed*20)
    6. draw_text(x+32,y+64,"Ich: W-Wer bist du? W-Wo bin ich?")
    7. screen_redraw()
    8. sleep(room_speed*20)
    9. draw_text(x+32,y+96,"???: <Subjekt Name hier einfügen> hast noch genug Zeit dies rauszufinden.")
    10. screen_redraw()
    11. sleep(room_speed*20)
    12. room_goto_next()
    Alles anzeigen


    (Falls ich jetzt blödsinn verzapft habe tut es mir schrecklich leid. >.<)
  • Ich habe da noch eine Frage die alles vereinfachen würde kann man das show_message Box verschieben? z.b nach oben oder unten?

    Edit: @Lewa bei deinem Code stürzt das Spiel ab habs jezt mit screen_refresh probiert und es funktioniert halbwegs jezt kommt nur der lezte Satz aber immer nur kurz und verschwindet dann wieder, somit ist er unlesbar.

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

  • Glaube das geht eher nicht.
    Wenn du nähmlich Show_Message im Spiel verwendest, wird das Spiel selber im Hintergrund pausiert bis du auf "ok" oder irgendeinen anderen Button klickst. Somit würden jegliche Codes auf die Message keine Auswirkung haben.
    Selbst wenn dies ginge, glaube ich nicht dass es irgendwie möglich ist eine Messagebox direkt auf ihre Koordinaten anzusprechen.

    Man ist wesentlich besser bedient wenn man sich eigene Messageboxen programmiert. ;)
  • versuchs mal mit

    ins create event:

    GML-Quellcode

    1. var_wait = room_speed * 2;
    2. var_text = "";
    3. var_text_line = 0;


    ins draw_event:

    GML-Quellcode

    1. if(var_wait == room_speed * 2){
    2. var_wait = 0;
    3. var_text_line += 1;
    4. switch(var_text_line){
    5. case 1: var_text += "???: Guten Tag, <Subjekt Name hier einfügen>.#";break;
    6. case 2: var_text += "Ich: W-Wer bist du? W-Wo bin ich?#";break;
    7. case 3: var_text += "???: <Subjekt Name hier einfügen> hast noch genug Zeit dies rauszufinden.#";break;
    8. case 4: room_goto_next();break;
    9. }
    10. }else{
    11. var_wait += 1;
    12. }
    13. draw_text(x+32,y+32,var_text);
    Alles anzeigen


    so mach ich das immer ...

    ps ... room_speed * 20 sind 20 sekunden nicht 2 ... die raute am ende des satzes macht einen zeilenumbruch
    ---- wer fehler findet darf sie behalten ---

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

  • So jezt springt er nach kurzer Zeit in den nächsten Raum, aber den Text sehe ich immer noch nicht... :S
    Kann es sein das x32 und y32 garnicht im Bild sind? xD

    Edit: Ah ich glaube es liegt daran das das Bild und der Raum nicht komplett angezeigt wird warum dass denn?
    Habe keine Views an nur in einem anderem Raum aber ist das wichtig?

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

  • x+32 und y+32 bezihen sich auf das ausführende object also ... x position des objectes + 32 pixel ... und das selbe mit y ... ich weis ja nicht wo du es erstellst ... und ja es ist auch wichtig in welchem raum es sich befindet ... ist es presisten ?
    ---- wer fehler findet darf sie behalten ---