ID and Objekt binden

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

  • ID and Objekt binden

    Guten Abend, ich störe mal wieder!

    Ich habe folgendes Problem, ich möchte das ein Gegner einen Schuss abgibt, der in Richtung des Spielers geht, was auch bei einem Gegner ganz gut klappt.
    Wenn ich allerdings mehrere Gegner der selben Art in einen Raum packe, die nicht in die selbe Richtung schauen und schießen, ändert sich aufgrund des Codes die Richtung JEDES Schusses im Raum.
    Falls ihr Ideen habt wie man das ändern kann, immer mal raus damit! (Evtl mit IDs?)

    Vielen Dank im vorraus und libe Grüße
    Zkiller

    Anbei der Code zum erstellen des Schusses:
    if sight = true && die = false {
    speed = 0;
    sprite_index = spr_guardsmen_firing;
    if shot = false {
    instance_create(x, y+13, obj_laser);
    obj_laser.direction = direction;
    shot = true;
    alarm[1] = 25;
    }
    }
    else {
    if die = false {
    speed = 2;
    }
    }
  • Hallo,
    Das problem ist, dass du mit "obj_laser.direction" jeden laser änderst. Um die ID eines neu erstellten laser zu speichern kannst du so vorgehen:

    GML-Quellcode

    1. var inst = instance_create(x, y+13, obj_laser)
    2. // jetzt ist die ID von dem in der variable "inst"
    3. // diese kann man jetzt bearbeiten
    4. inst.direction = direction;
    5. //oder
    6. with (inst)
    7. {
    8. direction = other.direction;
    9. }
  • "instance_create(x, y+13, obj_laser);
    obj_laser.direction = direction;"

    ->
    laser = instance_create(x, y+13, obj_laser);
    laser.direction = direction;


    Es ist gut das der Schuss an die Richtung des Spielers oder Gegners gebunden ist, oder?

    Möchtest du das sich der Gegner bevor er schießt zum Player dreht?

    ....
    Richte dich an Herrn Gust.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Weihnachtswichtel ()