Bewegungsrichtung ungleich Blickrichtung

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

  • Bewegungsrichtung ungleich Blickrichtung

    Sorry, mir ist kein anderer Titel eingefallen..
    Ich sitze hier grad vor einem eigentlich einfachen Problem, was ich vor 1-2 Jahren schonmal gelöst hatte, aber nun will es einfach nicht in meinen Schädel. Ich habe ein Raumschiff, das man von oben sieht und das sich in jede Richtung drehen kann. Nun will ich aber nicht, dass es gleich in die Blickrichtung fliegt, sondern quasi "driftet", wenn man im Flug einlenkt. Das Problem an der Sache ist der Punkt, an dem die 360° wieder 0° werden. Ich kriegs grad einfach nicht auf die Reihe.. Hilfe?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Naja, Friction ist eigentlich dafür da, dass das Objekt immer wieder smooth auf eine Speed von "0" zurückgeht. Mit Gravity hab ichs schon probiert, kriegs aber irgendwie nicht hin..
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Mit deinen Variablen kann ich da grad rein gar nichts anfangen. Hast du ne gm6, in der du den Code gemacht hast? Wäre sehr hilfreich, dann kann ich es mir in Ruhe anpassen.. Danke.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Sorry mauge das ist mir grad spontan eingefallen. Hab nicht probiert könnte aber funktionieren. Hilft das hier vielleicht (Bin grad zu faul um es zu testen)):

    Create Event:

    GML-Quellcode

    1. speed=0 //erklärt sich von selbst
    2. maximalespeed=8 //maximale geschwindkeit
    3. richtung=90 //In welche Richtung das Schiff grade guckt
    4. friction=0.1 //die trägheit
    5. grundbeschleunigung=0.2 //die rohe beschleunigung
    6. grunddrehgeschwindkeit=2 //die rohe geschwindkeit beim drehen der pfeiltasten
    7. drehgeschindigkeit=0 //die nachbearbeitete geschwindkeit beim drehen der pfeiltasten


    Step Event:

    GML-Quellcode

    1. speed=min(speed,maximalespeed) // speed geht nicht über maximalespeed
    2. drehgeschindigkeit=(maximalespeed-speed)/maximalespeed*grunddrehgeschwindkeit
    3. if keyboard_check(vk_left)
    4. richtung += drehgeschindigkeit
    5. if keyboard_check(vk_right)
    6. richtung -= drehgeschindigkeit
    7. if keyboard_check(vk_up)
    8. motion_add(richtung,(maximalespeed-speed)/maximalespeed*grundbeschleunigung)
  • @Bernt: Ja so in etwa hab ich mir das vorgestellt. Ich danke dir, das kann ich meinem Game durchaus anpassen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Benutzer online 1

    1 Besucher