Collision funktioniert nach sprite wechsel nicht mehr

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

  • Collision funktioniert nach sprite wechsel nicht mehr

    Hi ich habe ein Problem und vielleicht könnt ihr mir helfen. Ich schaue gerade auf Youtube Tutorial zum Thema Game Maker und bearbeite sie simultan mit. Nun bin ich auf ein Problem gestoßen, bei dem ich von selber nicht auf die Lösung komme. Im Tutorial Video klappt alles wunderbar, nur bei mir gibt es Schwierigkeiten.

    Ich lasse mittels eines Alarm Events das sprite von meinem Spieler Objekt austauschen und stelle dann eine Abfrage welches sprite aktiv ist. Bei dem ersten sprite soll der Spieler unzerstörbar sein, beim zweiten wie gehabt bei Kontakt mit Gegner zerstört werden. Der Wechsel der Sprites klappt noch, allerdings bleibt das Spieler Objekt auch nach dem Wechsel des sprite unzerstörbar.

    Im Spieler Objekt

    Create Event

    Quellcode

    1. ​alarm[0] = 240;


    Alarm Event

    Quellcode

    1. ​sprite_index = spr_player;


    Im Gegner Objekt

    Collision Event (mit dem Spieler Objekt)

    Quellcode

    1. ​if (sprite_index == spr_player)
    2. {
    3. instance_create_depth(x,y,-1,obj_explosion)
    4. instance_destroy(other)
    5. audio_play_sound(snd_explode_player,0,0);
    6. if(global.life > 0)
    7. {
    8. global.life -= 1;
    9. instance_create_depth(room_width/2,room_height/2,0,obj_player);
    10. }
    11. else
    12. {
    13. instance_create_depth(0,0,0, obj_gameover);
    14. instance_create_depth(0,0,0, obj_restart);
    15. }
    16. }
    Alles anzeigen


    Ohne den sprite wechsel wird der Spieler ohne Probleme zerstört.
    Sobald dieser Zusatz dazu kommt bleibt der Spieler unzerstörbar.

    Quellcode

    1. ​if (sprite_index == spr_player)

    Warum ist das so? Was muss ich ändern damit es funktioniert?

    Das Tutorial ist übrigens von Shaun Spalding- Your First Game! [P11: Invincibility]