Hi,
habe ein kleines Problem bzw. eine Frage zu verschachtelte Create-Events.
[hide="Objekt Struktur (etwas vereinfacht):"]obj_ur_parent
>obj_parent_1
>>obj_1a
>>obj_1b
>obj_parent_2
>>obj_2a
>>obj_2b[/hide]
[hide="obj_ur_parent Create Event:"]
Alles anzeigen
[/hide]
[hide="scr_parent_1_init:"]
[/hide]
[hide="scr_1a_init:"][/hide]
[hide="scr_1b_init:"][/hide]
[hide="scr_parent_2_init scr_2a_init scr_2b_init:"][/hide]
Wenn ich jetzt ein obj_1a in den room setze bringt er mir die Fehlermeldung, dass die Variable spr_reload nicht gefunden wird. Die parents hab ich alle gesetzt und die Variablennamen hab ich auch kontrolliert.
Müsste das nicht normal folgendermaßen ablaufen?
obj_1a wird created und ruft das parent-create-event von obj_parent_1 auf, welches wiederum das parent-create-event von obj_ur_parent aufruft. Hier wird nun überprüft welches Objekt gerade erstellt wurde. Aha, ein obj_parent_1. Also wird scr_parent_1_init aufgerufen, wo wiederum festgestellt wird, dass es sich um ein obj_1a handelt und somit scr_1a_init aufgerufen wird. Hier wird der Variable spr_reload das Sprite (oder genauer gesagt die Sprite-ID) zugewiesen. scr_1a_init wird beendet, und zurück gehts in das Script scr_parent_1_init, welches auch beendet wird. Übrig bleibt die Zuweisung spr_current = spr_reload, was jedoch nicht zu funktionieren scheint.
[hide="Zusammenfassung:"]-> obj_1a.create
-> obj_parent_1.create
-> obj_ur_parent.create
-> object_index = obj_parent_1
-> scr_parent_1_init
-> object_index = obj_1a
-> scr_1a_init
-> spr_reload = spr_reload_1a
-> spr_current = spr_reload
-> Fehler[/hide]
Hab auch versucht, das Sprite im obj_ur_parent Create Event mit spr_reload = noone; zu initialisieren, aber dann kann er kein nicht existierendes Sprite zeichnen, weil irgendwie nur die "noone"-Zuweisung stattgefunden hat.
Bin für jede Hilfe, jeden Hinweis dankbar
habe ein kleines Problem bzw. eine Frage zu verschachtelte Create-Events.
[hide="Objekt Struktur (etwas vereinfacht):"]obj_ur_parent
>obj_parent_1
>>obj_1a
>>obj_1b
>obj_parent_2
>>obj_2a
>>obj_2b[/hide]
[hide="obj_ur_parent Create Event:"]
GML-Quellcode
[hide="scr_parent_1_init:"]
[hide="scr_1a_init:"][/hide]
[hide="scr_1b_init:"][/hide]
[hide="scr_parent_2_init scr_2a_init scr_2b_init:"][/hide]
Wenn ich jetzt ein obj_1a in den room setze bringt er mir die Fehlermeldung, dass die Variable spr_reload nicht gefunden wird. Die parents hab ich alle gesetzt und die Variablennamen hab ich auch kontrolliert.
Müsste das nicht normal folgendermaßen ablaufen?
obj_1a wird created und ruft das parent-create-event von obj_parent_1 auf, welches wiederum das parent-create-event von obj_ur_parent aufruft. Hier wird nun überprüft welches Objekt gerade erstellt wurde. Aha, ein obj_parent_1. Also wird scr_parent_1_init aufgerufen, wo wiederum festgestellt wird, dass es sich um ein obj_1a handelt und somit scr_1a_init aufgerufen wird. Hier wird der Variable spr_reload das Sprite (oder genauer gesagt die Sprite-ID) zugewiesen. scr_1a_init wird beendet, und zurück gehts in das Script scr_parent_1_init, welches auch beendet wird. Übrig bleibt die Zuweisung spr_current = spr_reload, was jedoch nicht zu funktionieren scheint.
[hide="Zusammenfassung:"]-> obj_1a.create
-> obj_parent_1.create
-> obj_ur_parent.create
-> object_index = obj_parent_1
-> scr_parent_1_init
-> object_index = obj_1a
-> scr_1a_init
-> spr_reload = spr_reload_1a
-> spr_current = spr_reload
-> Fehler[/hide]
Hab auch versucht, das Sprite im obj_ur_parent Create Event mit spr_reload = noone; zu initialisieren, aber dann kann er kein nicht existierendes Sprite zeichnen, weil irgendwie nur die "noone"-Zuweisung stattgefunden hat.
Bin für jede Hilfe, jeden Hinweis dankbar
"Es gibt nie ein glückliches Ende, denn es endet nichts." - Schmendrick