Hallo, ich will ein Sprite ändern, indem ich es gegen ein Bild von meiner Festplatte ersetze.
So mal grob der Code zum besseren Verständnis:
Der Code steht in einem Objekt "obj_Manager", welches das Bild von der Festplatte auf ein anderes Objekt "obj_bild" zuweist.
Am Anfang darf sich der Nutzer ein Bild aussuchen, welches dann vom Objekt "obj_bild" angezeigt werden soll.
Soweit, so gut, bis hier hin klappt alles. Nun will ich per Taste das Bild in ein anderes verwandeln.
Abhängig davon, welches Bild gerade angezeigt wird, soll dieses Bild durch ein bestimmtes ersetzt werden.
Alles anzeigen
Eigentlich funktioniert das ja auch.
Zumindest wird das Bild 'Beispiel.png' im switch-statement erkannt und ich bekomme die Nachricht „Das Bild war 'Beispiel' und ist nun 'Beispiel 2' !“.
Jedoch ändert sich der sprite_index von obj_bild nicht und er zeigt einfach gar kein Bild mehr an.
Wenn ich nun show_message(string(neuesBild)) sage, bekomme ich „-1“ zurück.
Wenn ich das am Anfang bei dem Bild das man selbst öffnet schreibe dann bekomme ich „16“ zurück.
Keine Ahnung warum 16 und die Zahl ist immer gleich egal welches Bild man öffnet.
Jedenfalls spricht die -1 ja dafür dass nun etwas anders ist und das Bild nicht gefunden wird.
Was ich jedoch nicht so ganz verstehe, da der Dateipfad im switch-event in der selben Schreibweise (also C:\....\Bild.png) erkannt wird.
Ich hoffe mir kann hier jemand weiterhelfen.
So mal grob der Code zum besseren Verständnis:
Der Code steht in einem Objekt "obj_Manager", welches das Bild von der Festplatte auf ein anderes Objekt "obj_bild" zuweist.
Am Anfang darf sich der Nutzer ein Bild aussuchen, welches dann vom Objekt "obj_bild" angezeigt werden soll.
GML-Quellcode
Soweit, so gut, bis hier hin klappt alles. Nun will ich per Taste das Bild in ein anderes verwandeln.
Abhängig davon, welches Bild gerade angezeigt wird, soll dieses Bild durch ein bestimmtes ersetzt werden.
GML-Quellcode
- if (keyboard_check_pressed(vk_space))
- {
- switch(global.bildText)
- {
- case „C:\Mein\Datei\Pfad\Beispiel.png“:
- neuesBild = sprite_add("C:\Mein\Datei\Pfad\Beispiel_2.png", 1, false, false, room_width/2, room_height/2)
- obj_bild.sprite_index = neuesBild
- show_message(„Das Bild war 'Beispiel' und ist nun 'Beispiel 2' !“)
- default:
- show_message(„Das Bild war nicht 'Beispiel'“)
- }
- }
Eigentlich funktioniert das ja auch.
Zumindest wird das Bild 'Beispiel.png' im switch-statement erkannt und ich bekomme die Nachricht „Das Bild war 'Beispiel' und ist nun 'Beispiel 2' !“.
Jedoch ändert sich der sprite_index von obj_bild nicht und er zeigt einfach gar kein Bild mehr an.
Wenn ich nun show_message(string(neuesBild)) sage, bekomme ich „-1“ zurück.
Wenn ich das am Anfang bei dem Bild das man selbst öffnet schreibe dann bekomme ich „16“ zurück.
Keine Ahnung warum 16 und die Zahl ist immer gleich egal welches Bild man öffnet.
Jedenfalls spricht die -1 ja dafür dass nun etwas anders ist und das Bild nicht gefunden wird.
Was ich jedoch nicht so ganz verstehe, da der Dateipfad im switch-event in der selben Schreibweise (also C:\....\Bild.png) erkannt wird.
Ich hoffe mir kann hier jemand weiterhelfen.

Dieser Beitrag wurde bereits 11 mal editiert, zuletzt von cedisupersoccer ()