speed abgleich

  • GM 8
  • speed abgleich

    Hi, ich stehe gerade total auf dem schlauch und hoffe ihr könnt mir weiterhelfen.
    also ich habe zum Beispiel drei Autos. Das erste bewegt sich langsam das zweite etwas schneller und das dritte noch schneller.

    Nun möchte ich das sich jedes Auto immer nach dem Auto vor ihm richtet und sein Tempo versucht anzugleichen. Jedoch reagiert das vordere Auto jeweils auch auf das hintere und ich komme gerade nicht dahinter wie ich das verhindere.

    mein Code sieht ungefähr so aus:

    GML-Quellcode

    1. if distance_to_object(obj_car)<x-10
    2. {
    3. if speed!=0 then speed-=0.5
    4. }
    5. else
    6. {
    7. if speed<maxspeed then speed+=0.1
    8. }

    Ich hoffe ihr habt meine Fragestellung verstanden:)
    Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





    I am a in the GM Quiz! :heul: :vogel:

    :gmlove:

    xD
  • du musst einfach noch abfragen ob das auto das die geschwindigkeit ändern soll
    auch wirklich hinter dem anderen auto ist.
    ich weiß jetzt nicht wie die ansicht in deinem spiel ist, aber wenn es
    so jump and run mäßig ist, dann reicht zu prüfen ob die x koordinate kleiner ist als die es anderen autos.
    bei topdown wirds dann schon ein bisschen schwieriger, aber auch nicht unmöglich

    mfg
    HIM
  • Ich weiß nicht ob es funktioniert, aber eigentlich könnte

    GML-Quellcode

    1. if point_direction(x,y,obj_car.x,obj_car.y)>direction-20 and point_direction(x,y,obj_car.x,obj_car.y)<direction+20 and distance_to_object(obj_car)<10
    2. then blablabla...

    gehen, obwohl ich nicht sicher bin, ob einfach nur obj_car geht, wenn nicht, dürfte es funktionieren, wenn du obj_car mit obj_carnearest ersetzt:

    GML-Quellcode

    1. obj_carnearest=instance_nearest(x,y,obj_car)