Kreisfoermige Kamera-Rotierung um Spielerpunkt, besser gesagt Levelobjekte rotieren auf diversen Kreisebenen

  • GM 7

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

  • Kreisfoermige Kamera-Rotierung um Spielerpunkt, besser gesagt Levelobjekte rotieren auf diversen Kreisebenen

    Hi Leute, erstmal eine kleine Skizze zur Erklaerung:





    Vorab: Kein 3D, alles 2D und Sprites :!:

    Der Raum muesste meiner Theorie nach durchzogen sein von pixelgenauen kreisfoermigen Pfaden, Pfad auf Pfad direkt folgend, ohne Luecken wie in der Skizze und ausgehen vom Spielerpunkt.

    So dass, auf Tasteneingabe, sich das Level/Die Objekte korrekt um die Figur drehen (also eine Kamera simuliert wird).
    Die Kreispfade mit Ursprung/Mittelpunkt beim Spieler, sollen sich dabei immer mit dem Spieler bewegen, ihm als Ursprung.

    (Das ganze ist aus orthografischer Perspektive, also keine optische Verkruemmung.)

    Bis jetzt habe ich es nur geschafft die Box auf Knopfdruck so weit ich will in eine Richtung auf eigener Achse drehen zu lassen.

    Ich weiss definitiv, dass es moeglich ist, aber ich komme nicht darauf wie ich es in GM realisieren koennte. :|


    Vielen Dank im Vorraus! :)

    Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von Shindoh ()

  • Dafür gibts hier im Forum schon ziemlich viele Ansätze (einer davon sogar von mir :D ).
    Am besten geht es mit den lengthdir_ Funktionen.
    Sämtliche Punkte, auf denen die Kamera beim rotieren liegen kann, liegen in einer Kugel
    um das Objekt, d.h. sie haben einen festen Abstand vom Objekt.
    Wenn ichs schaffe, such ich noch mein Skript raus, aber eigentlich sollte der Ansatz schon
    ein paar Funken springen lassen.
    Gruß, Spellmaker
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Spellmaker schrieb:

    Dafür gibts hier im Forum schon ziemlich viele Ansätze (einer davon sogar von mir :D ).
    Am besten geht es mit den lengthdir_ Funktionen.
    Sämtliche Punkte, auf denen die Kamera beim rotieren liegen kann, liegen in einer Kugel
    um das Objekt, d.h. sie haben einen festen Abstand vom Objekt.
    Wenn ichs schaffe, such ich noch mein Skript raus, aber eigentlich sollte der Ansatz schon
    ein paar Funken springen lassen.
    Gruß, Spellmaker
    Erstmal vielen Dank fuer deine zuegige Antwort! :)

    Ich bin in GM leider noch relativer Anfaenger und habe die Funktionen eben in der Hilfe nachgelesen, trotzdem verstehe ich gerade komplett nichts von dem, was Du mir erklaert hast.

    Ich bin mir nicht mal sicher, ob ich die Funktion selbst verstehe: "lengthdir_x(len,dir) Returns the horizontal x-component of the vector determined by the indicated length and direction." :rolleyes:

    Ich moechte uebrigens nichts in 3D machen, alles Sprite basiert.

    Koenntest Du es mir villeicht auf Babysprache erklaeren?
    :P

    EDIT: Hey!

    Ich habe mich nochmal etwas damit beschaeftigt und die Formel endlich verstanden. :D

    Folgend habe ich es geloest: Step Event der Box:

    GML-Quellcode

    1. x = object1.x + lengthdir_x(object1.x,direction);
    2. y = object.y + lengthdir_y(object1.y,direction);
    3. direction +=1;


    Jetzt passiert aber dennoch was merkwuerdiges, bei meheren Instanzen der Box scheint es alle zu einer einzigen Box zu fusionieren, die dann um object1 kreist.
    Es sollen aber alle von ihrem Punkt und ihrem eigenen Radius zum object1 um dieses kreisen.

    Was laeuft hier Falsch? ?(

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Shindoh ()

  • Benutzer online 1

    1 Besucher