Instance.direction auf bestimmtes Objekt beziehen

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

  • Instance.direction auf bestimmtes Objekt beziehen

    Hallo,

    ich arbeite gerade an einem Echzeit-Strategie Spiel und habe ein Problem bei dem ich selber nicht weiter komme.

    Was soll geschehen?:
    Ein Turm soll ein Projektil erzeugen, wenn ein Gegner in einer bestimmten Entfernung zum Turm steht.
    Das Projektil soll sich dann auf den Gegner zubewegen.

    Was geschieht (bei einem Turm im Raum)?:
    Wenn der Gegner die Entfernung erreicht hat, erzeugt der Turm ein Projektil, welches sich auf den Gegner zu bewegt.

    Das soll es ja auch tun :) sprich, das ist richtig. Nun aber:

    Was geschieht (bei mehr als einem Turm im Raum)?:
    Wenn mehrere Türme ein Projektil erzeugen, bewegen sich alle Projektile in die gleiche Richtung.
    Sie bewegen sich in die Richtung die vom ersten erzeugten Turm festgelegt wird.
    Ich habe auch überprüft ob jeder Turm für sich selber seine Schussrichtung festlegt ->OK

    Ich arbeite mit der GML
    So habe ich es aufgebaut:

    Objekt Tower: (Create + Alarm Event)
    Alle 30 Steps (1 Sekunde) wird schussbereit auf 1 gesetzt. Dies hab ich extern geregelt, weil ich nicht weiß wie man hier einen alarm einbaut.
    Objekt Tower: (Step Event)

    GML-Quellcode

    1. // Tower prueft ob sich ein Gegner(Argument0) in der naehe aufhaelt, setzt Schussrichtung(direction)
    2. // und erzeugt Object Schuss
    3. {
    4. if collision_circle(x+16,y+16,40,argument0,false,false) && schussbereit=1
    5. {
    6. ziel=instance_nearest(x+16,y+16,argument0)
    7. direction=point_direction(x+16,y+16,ziel.x,ziel.y)
    8. instance_create(x+16,y+16,Schuss)
    9. schussbereit=0
    10. }
    11. }
    Alles anzeigen

    Objekt Schuss: (Create Event)

    GML-Quellcode

    1. //Bewegung in Richtung Tower.direction ausfuehren
    2. {
    3. motion_add(Tower.direction,2)
    4. }


    Meine Idee:
    Kann man programmieren, dass das Projektil in die Richtung geht die vom Turm vorgegeben wird, der das Projektil erzeugt hat?
    Kann mir hierbei bitte jemand helfen?

    Grüße
    padi
  • GML-Quellcode

    1. schuss = instance_create(Schuss,x,y)
    2. schuss.direction = direction


    musst noch entsprechende parameter (er-)setzen
    "das war meine letzte flamewar PM an dich ."