draw_text schreibt "übereinander"

  • GM 8

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

  • draw_text schreibt "übereinander"

    Hallo,

    Ich habe 1 Objekt namens "planet" erstellt, von dem 15 Instanzen im Raum plaziert sind. Im create-event habe ich zig Variablen deklariert, die im Alarm-Event in unterschiedlichsten Formeln verarbeitet werden.

    Um die Variablen nach Mausklick per draw_text darzustellen habe ich ein Objekt "info" erstellt und im raum plaziert. Im create-event ist eine Variable Lk = 0 deklariert, im maus-event (Linksklick) von "planet" wird dieser Variablen (info.Lk = id()) die id der angeklickten Instanz zugewiesen. Im draw-event von "info" wird nun mittels "draw_text.........string(Lk.variablevonplanet) angezeigt. Wenn ich nun auf eine andere Instanz klicke sehe ich auch die dazugehörigen Werte. Dieser Weg wurde mir mal hier im Forum so beschrieben und es funktioniert.

    Da ich nun sehr weit fortgeschritten bin, mache ich nunmehr an die Aufgabe zu otimieren und will auf das Objekt "info" verzichten. Der Code aus dem draw-event "info" ist nun im draw-event "planet", die Variable "Lk" wird nun im create-event von "planet" deklariert und im maus-event von "planet" stet nun (Lk = id()).

    Jetzt zu meinem Problem: Nach jedem Klick auf eine andere Instanz wird deren Text "obendrauf" geschrieben, dh. der Text der vorangegangenen Klicks bleibt auch zu sehen. Schon nach ca 3-4 Klicks wirt der Text unleserlich. Wie ist es möglich dieses Problem zu beheben?

    Einige verschiedene versuche habe ich erfolglos unternommen, ich vermute das es nur an einer "Kleinigkeit" liegt.

    Gruß

    Maschine
    Eine Stimme sprach zu mir: "Lächle und sei froh, es könnte schlimmer kommen!"
    Ich lächelte und war froh, und es kam schlimmer... :heul:
  • bei draw_text()
    kannst du x und y angeben, das ist dann der Ort um Raum wo der text geschrieben wird.

    Wenn du:

    GML-Quellcode

    1. draw_text(10,10,"Hallo, ich bin ein Text")
    2. draw_text(10,10,"Und ich auch. Haha!")

    schreibst ist kein wunder, das die übereinander sind...

    So sind sie nicht übereinander:

    GML-Quellcode

    1. draw_text(10,10,"Hallo, ich bin ein Text")
    2. draw_text(10,40,"Und ich auch. Haha!")



    Ich hoffe ich habe dich richtig verstanden.....
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Hallo Larsi,

    nein, so simpel ist mein Problem nicht! Stelle dir vor, du schreibst Text auf eine Folie, bei der zuerst beschriebenen Methode wird nach einem Klick auf eine andere Instanz die alte Folie "entfernt", und eine neue Folie mit anderem Text angezeigt. So ist es erwünscht. Nun will ich das "Anzeigeobjekt" einsparen, mit der neuen Methode ist es nun so, dass nach jeden Klick auf eine Instanz eine neue Folie mit neuem Text auf die andere Folie draufgelegt wird, und somit liegen nacheinander alle Texte bis zur unleserlichkeit übereinander.

    Ich möchte das der alte Text nach einem Klick einfach verschwindet und der neue erscheint...

    Gruß

    Maschine
    Eine Stimme sprach zu mir: "Lächle und sei froh, es könnte schlimmer kommen!"
    Ich lächelte und war froh, und es kam schlimmer... :heul:
  • achso, dann mach das so:

    GML-Quellcode

    1. // Linksklick auf planet
    2. with(obj_planet){
    3. variable_ob_text_angezeigt_werden_soll=0 //Alle planeten setzen es auf 0
    4. }
    5. variable_ob_text_angezeigt_werden_soll=1 // Und dann der angeklickte setzt es für sich auf 1
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Hallo Larsi,

    habe es sofort probiert, funktioniert auf Anhieb!!

    Habe im maus-event folgendes geschrieben:
    {
    with(Planet) {Lk = 0;}
    Lk = id();
    }



    das wars...

    mein Dank wird dir auf ewig nachschleichen

    Gruß

    Maschine
    Eine Stimme sprach zu mir: "Lächle und sei froh, es könnte schlimmer kommen!"
    Ich lächelte und war froh, und es kam schlimmer... :heul:
  • Benutzer online 1

    1 Besucher