Objekt sucht seinesgleichen falsch x)

  • GM 8

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

  • Objekt sucht seinesgleichen falsch x)

    Die folgende Frage hab ich schon in einem anderen Tread gestellt aber dort vermutet sie wohl niemand. ;(

    Diesen script verwende ich für ein Objekt namens A, welches mit Objekt B reagiert

    Im Step von Objekt A
    {
    nearest_id = instance_nearest(x,y,Objekt_B)
    if point_distance(x,y,nearest_id.x,nearest_id.y) < 70 move_towards_point(nearest_id.x,nearest_id.y,1)
    }


    Ich möchte jetzt das Objekt A mit einer seinesgleichen reagiert. Also mit Objekt A.
    Das geht offensichtlich nicht; Objekt A fängt sich, sobald der script läuft an selber zu suchen.
    Das Objekt läuft nur noch dach rechts was nicht das Ziel ist.

    Kann mir jemand helfen? Kennt jemand die Lösung? Bitte! ;(
  • Da musst du wohl instance_nearest() selbst mit einer For-Schleife implementieren. Du loopst durch alle Instanzen und schaust welche von denen die näheste ist, aber nicht die ausführende. Wenn du einen konkreten Code habe willst, kannst du einfach mal die Suchfunktion verwenden. Diese Frage wurde schon oft beantwortet.

    © 2008 by Teamgrill Productions


  • Da musst du wohl instance_nearest() selbst mit einer For-Schleife implementieren. Du loopst durch alle Instanzen und schaust welche von denen die näheste ist, aber nicht die ausführende. Wenn du einen konkreten Code habe willst, kannst du einfach mal die Suchfunktion verwenden. Diese Frage wurde schon oft beantwortet.
    Sorry ich hab fleissig im Internet gesucht aber nicht mein Problem gefunden :( und ich bin noch ein Anfänger und kenn mich mit dem Loop-Tool nicht aus.
  • Z.B. so:

    GML-Quellcode

    1. var nearest_id,i,temp;
    2. nearest_id = -1;
    3. for (i=0; i<instance_number(obj_a); i+=1)
    4. {
    5. temp = instance_find(obj_a,i);
    6. if (distance_to_object(temp) < 70)
    7. && (temp != id)
    8. {
    9. nearest_id = temp;
    10. }
    11. }
    12. if (nearest_id != -1)
    13. {
    14. move_towards_point(nearest_id.x,nearest_id.y,1);
    15. }
    Alles anzeigen

    © 2008 by Teamgrill Productions

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