In einem aktuellen Projekt habe ich eine ganze Menge von Objekten, die unterschiedliche Mouseover-Texte anzeigen (per Mouse Enter und Mouse Leave gesteuert). Der Text ist mit einem farbigen roundrect() hinterlegt, das per string_width() an die jeweilige Textlänge angepasst wird.
Soweit funktioniert alles fehlerfrei.
Nun wird allerdings dieses roundrect offenbar von einem anderen Objekt, das ebenfalls einen String per draw_text anzeigt, ungewollt beeinflusst.
Objekt für die Mouseover (obj_draw):
Beispielobjekt, über dem der Mouseover-Text angezeigt wird und das das „störende“ Objekt erstellt:
Alles anzeigen
der Störenfried (show_rp - dient dazu, einen sich bewegenden Text zu zeichnen):
Alles anzeigen
Wie man sieht wird das letzte Objekt nach kurzer Zeit zerstört. Während es existiert ist allerdings der Wert von string_width() um 20 verringert und nimmt den korrekten Wert erst wieder an, wenn show_rp nicht mehr existiert.
Ich habe mir die beteiligten Aktionen und Scripte jetzt x-mal angesehen, aber den Fehler nicht gefunden.
(befürchte aber, dass es irgendwas simples ist, was ich übersehe...)
Soweit funktioniert alles fehlerfrei.
Nun wird allerdings dieses roundrect offenbar von einem anderen Objekt, das ebenfalls einen String per draw_text anzeigt, ungewollt beeinflusst.
Objekt für die Mouseover (obj_draw):
Beispielobjekt, über dem der Mouseover-Text angezeigt wird und das das „störende“ Objekt erstellt:
GML-Quellcode
- //Alarm Event for alarm 0:
- //execute code:
- if aktiv == 1
- {global.h += lv*2
- global.n -= ceil(lv/2)
- i = instance_create(x+24,y,show_rp)
- i.rp = (lv*2)
- alarm[0] = 300}
- //Mouse Event for Mouse Enter:
- //execute code:
- obj_draw.draw = 1
- obj_draw.a = "Beispielobjekt Lv. "+string(lv)
- //Mouse Event for Mouse Leave:
- //execute code:
- obj_draw.draw = 0
der Störenfried (show_rp - dient dazu, einen sich bewegenden Text zu zeichnen):
GML-Quellcode
Wie man sieht wird das letzte Objekt nach kurzer Zeit zerstört. Während es existiert ist allerdings der Wert von string_width() um 20 verringert und nimmt den korrekten Wert erst wieder an, wenn show_rp nicht mehr existiert.
Ich habe mir die beteiligten Aktionen und Scripte jetzt x-mal angesehen, aber den Fehler nicht gefunden.
(befürchte aber, dass es irgendwas simples ist, was ich übersehe...)
