GMS:: Fehler bei Kollision

  • GM 8

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

  • GMS:: Fehler bei Kollision

    Ich habe ein kleines Problem:

    Quellcode

    1. action number 1
    2. of Step Event0
    3. for object obj_enemy_01:
    4. Push :: Execution Error - Variable Get 0.y(1, -1)
    5. at gml_Object_obj_enemy_01_Step_0 (line 1) - action_linear_step( obj_player.x, obj_player.y, 3, 0 );


    Diese Fehlermeldung erscheint, wenn Enemy_01 und Player kollidieren. Ich habe kein Skipt, sondern nur Drag und Drop drinnen. Plötzlich ist das so aufgetaucht und verschwindet nicht mehr. ==> Bin ratlos, weiß wer was das bedeutet?
    Dieser Beitrag wurde ausgezeichnet mit einem großen LOB.
  • Hi,

    also ich will eine Explosion erzeugen (mit dem Explosion-Partikel System, wenn Feind auf Player trifft und destroye dann beide. Ich meine auch das das Problem darin liegt. Aber solche keywords wie sleep oder wait gibt es offensichtlich nicht, was ziemlich stört. Ich suche jetzt schon einige Zeit die Hilfe durch, bis auf room_speed habe ich nichts gefunden.

    Also ich habe jetzt meine Explosion in ein eigenes Objekt gepackt, der Fehler passiert trotzdem:

    Dieser Beitrag wurde ausgezeichnet mit einem großen LOB.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von pestamoebe () aus folgendem Grund: Weitere Proben

  • Ja klar, weil du im Step Event auf die Koordinaten des Players zugreifst, welchen du im Kollisionsevent zerstörst. Somit existiert der Player nicht mehr und seine x und y Koordinaten auch nicht.

    Ersetze doch einfach

    GML-Quellcode

    1. action_linear_step( obj_player.x, obj_player.y, 3, 0 );

    durch

    GML-Quellcode

    1. if (instance_number(obj_player) > 0)
    2. {
    3. action_linear_step( obj_player.x, obj_player.y, 3, 0 );
    4. };


    Dann werden de Koordinaten nur noch aufgerufen, wenn der Spieler auch existiert.