Schuss zum nächsten Gegner

  • Schuss zum nächsten Gegner

    Hallo, wollte fragen ob mir jemand bei folgendem Problem weiterhelfen kann: Ich möchte einen Turm erstellen, der auf den ihm nächsten Gegner schießt. Ich habe probiert es so zu lösen:Ich habe folgendes in das Create-event von dem Schuss gepackt:

    move_towards_point(instance_nearest(ob_turm1.x,ob_turm1.y,ob_gegner1).x,instance_nearest(ob_turm1.x,ob_turm1.y,ob_gegner1).y,2)


    Bei einem Turm funktioniert das auch, wenn aber ein zweiter dazu kommt, schießt er auf das Objekt das dem ersten Turm am nächsten ist.
    Wäre nett wenn mir jemand weiterhelfen könnte und probiert bitte es möglichst simpel zu erklären, meine Fähigkeiten in Gml sind ziemlich bescheiden ;)
  • Wie jetzt, ich versteh deine Frage nicht ganz, du willst einen Turm, der auf das näherste object schießt und wenn du zwei hast schießt das object auf den anderen Turm?

    edit: Ich glaub ich weiss was dein Problem ist. Du hast enen zweiten Turm und der schisst dan automatisch auf den nähersten des 1 turmes, du willst aber das er auf das näheste des 2 turmes schisst.

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

  • Nö, ich glaube er meint es so:
    Du hast 2 Türme und 2 Gegner! Die Türme schießen jeweils zum "nähesten" Gegner!
    Wenn jetzt aber 2 Türme da sind schießen beide nur auf einen Gegner, anstatt beide auf den ihnen am nähesten Gegner!
    EDIT: Joa, so meint ers glaub ich!
  • Mit "instance_nearest(ob_turm1.x,ob_turm1.y,ob_gegner1).x" sind praktisch alle Türme gemeint denn ob_turm1 ist zweimal auf dem Spielfeld. Der GM muss sich einen davon aussuchen und der andere feuert auf den vom ausgesuchten Turm aus gesehen nächsten Gegner. Du musst das also so machen:

    Im Step-Event vom Turm:

    GML-Quellcode

    1. //wenn deine Bedingung zum schießen erfüllt ist...
    2. { shotty=instance_create(x,y,object_schuss)
    3. near=instance_nearest(x,y,ob_gegner)
    4. shotty.direction=point_direction(shotty.x,shotty.y,near.x,near.y)
    5. shotty.speed=15 }




    ,-Megamag

    Magical dream time!