Objekt bei kollision abbremsen

  • Objekt bei kollision abbremsen

    Hallo!

    Ich sitze schon 2 Stunden vor gm6 und habe folgendes Problem:

    Ich habe ein Player Auto, das von links kommend über eine Ziellinie (objekt) fährt.

    Das 1. Problem: das Auto fährt unter der Ziellinie durch. Gibt es verschiedene Layer wo ich die Reihenfolge bestimmen kann?

    Das 2. Problem: Wie schaffe ich es dass das auto nachdem es die Zeillinie überfahren hat langsam abbremst?
    Ich habs schon mit colision versucht, aber dann hält das Objekt vor der Ziellinie aprupt an und das spiel bleibt stehen.

    Vielen Dank für eure Hilfe!

    Robin
    in Arbeit: Quarter Mile Drag Race
  • 1. Ja, man kann in den Object properties eine "Depth" (Tiefe) einstellen. Stelle zum Beispiel die Ziellinie auf -1, dann ist sie unter dem Auto.

    2. am Besten, du schaltest eine Variable (z.B. "im_Ziel") auf true, wenn das Auto über die Ziellinie fährt.
    Dann kannst du im Step-Event immer diese Variable überprüfen, und wenn sie auf true ist, stellst du in jedem Step die Geschwindigkeit runter.
    Außerdem musst du immer überprüfen, ob die Geschwindigkeit noch über 0 ist. Sonst wird sie negativ.
    “Computers are good at following instructions, but not at reading your mind.” (Donald Knuth)

    Ich schreibe mit Neo.

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

  • RE: Objekt bei kollision abbremsen

    Original von knightvision
    Das 2. Problem: Wie schaffe ich es dass das auto nachdem es die Zeillinie überfahren hat langsam abbremst?
    Ich habs schon mit colision versucht, aber dann hält das Objekt vor der Ziellinie aprupt an und das spiel bleibt stehen.


    Das dürfte mit "friction" (reibnug) zu bewerkstellgien sein.

    beim ersten siehe adm-masters post.
  • Ok

    das mit der Tiefe ist jetzt klar... danke!

    Aber wie mach ich denn das mit der variablen?
    Wo leg ich die fest? Wo muss der code hin? Kannst du mir das vielleicht bisschen genauer erklären ich bin noch recht weit am Anfang...

    Seh ich das so richtig?:

    als Collision:
    WENN das Objekt mit der Linie kollidiert DANN ist die Variable TRUE

    und als Step:
    WENN die Variable true ist, dann" if speed>0 then speed-=.5" bzw "friction=0.8"

    könntet ihr mir helfen das zu "übersetzen"?

    Vielen Dank
    in Arbeit: Quarter Mile Drag Race

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

  • Dass die Variable den Wert true annimmt musst du im Collisionsevent einstellen.

    GML-Quellcode

    1. global.ziel = true

    Der rest ist hier erklärt:

    GML-Quellcode

    1. //1. global.ziel wird auf true gesetzt, sobald das Rennen zuende ist
    2. //2. damit der speed nicht negativ wird, wird abgefragt, ob der Speed noch Positiv (also größer als 0) ist
    3. if global.ziel = true && speed > 0
    4. { // Wenn beides zutrifft wird folgendes ausgeführt:
    5. friction = 0.8 //die Friction wird gestzt
    6. if speed <= 0 //sobald der Speed 0 erreicht hat (das Auto also steht)
    7. friction = 0 } // wird die Friction aufgehoben.
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • zu 1. depth Wert nicht auf -1 sondern auf 1...
    zu 2. da würde ich keine globale Variable hernehmen, vielleicht fahren ja mal mehrere Autos ins Ziel, die würden dann alle bremsen, wenn das erste durchfährt.
    Netter Trick ist es auch, einfach bei Kollision mit der Ziellinie das Auto in ein neues Objekt zu verwandeln, das dann langsam abbremst...Dann spart man sich nämlich die Steuerung zu deaktivieren...
    Einige meiner Spiele:
  • Original von interceptor

    Netter Trick ist es auch, einfach bei Kollision mit der Ziellinie das Auto in ein neues Objekt zu verwandeln, das dann langsam abbremst...Dann spart man sich nämlich die Steuerung zu deaktivieren...


    Wie meinst du das? könntest du mir einen code geben? Ich befürchte ja, dass es an der steuerung liegt. Wie mache ich das dass das neue objekt, das abbremst von der geschwindigkeit herunterbremst, die das plyer auto bei der zieldurchfahrt hatte?

    Danke!

    Edit:

    Habs jetzt hinbekommen! Einziges Problem war, dass mein object solid war, deshalb konnte es die Ziellinie nicht überschreiten.

    Vielen Dank an euch!
    in Arbeit: Quarter Mile Drag Race

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

  • Benutzer online 1

    1 Besucher