Fixierter Punkt trotz Rotation

  • GM 8

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

  • Fixierter Punkt trotz Rotation

    Hey Leute
    Ich hab ein kleines Problem und habe überhaupt keine Ahnung wie ich das lösen könnte.
    Ich arbeite nämlich gerade an einem Spiel mit einem Raumschiff,das mehrere Waffentürme trägt.
    Dieser Waffenturm richtet sich immer genau in die Richtung der Maus aus.

    Wenn ich mein Raumschiff nun drehe,dreht sich der Waffenturm leider nicht mit.
    Das heißt,er bleibt nicht in seiner "Waffenturmbucht".

    Wie kann ich den Waffenturm also genau auf einen Punkt auf dem Raumschiff fixieren,auch wenn sich
    dreht?

    EDIT:
    Hier ist ein Beispiel um sich das ganze besser vorstellen zu können.
    Dateien

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von HappyMaj0r ()

  • Wie währe es mi lenghtdir_x und lenghtdir_y
    Beide Funktionen brauchen 2 Werte len und dir
    len ist die länge (abstand)
    dir ist die Richtung

    Gruß Larsi
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Du musst wenn du die Schiffsrichtung änderst auch die Direction in den Türmen ändern...wasl mit einer Step abfrage.
    oder eine einfache Lösung wäre auch, die Tasten mit denen du das Schiff drehst auch als Events in die Türme zu stecken :)

    Ich hoffe du weißt was ich meine...ansonsten erklär ichs morgen gerne nochmal genauer :D

    PS: GM 8 Objekte auf einer Kreisbahn bewegen

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Danke für eure Hilfe,habs dank Aku_Ryou Tutorial mit Lenghtdir hinbekommen.
    Obwohl ich das erst genauso gemacht habe wie in Aku_Ryous Tutorial,hatte es nicht funktioniert,da ein
    anderer Code die Funktion irgendwie eingeschränkt hat.

    Aber dadurch ist ein neues Problem entstanden.
    Ich kann zwar das Objekt jetzt bei mein Raumschiff auf eine beliebige X Position fixieren,bei Y geht das jedoch nicht.
    Wie verändere ich die Y Position des Objekts und das es dann trotzdem auf seine Position bleibt ?

    x = obj_Klovor.x + lengthdir_x(12,richtung); // Hier kann ich die X Position des Turmes verändern,soweit so gut
    y = obj_Klovor.y + lengthdir_y(12,richtung);// Wenn ich das hier mache,passiert jedoch nichts ausser das das Objekt nicht mehr auf der Position bleibt.

    Dann hab ich das versucht :

    x = obj_Klovor.x + lengthdir_x(12,richtung);
    y = obj_Klovor.y + 5 + lengthdir_y(12,richtung);

    Dann wurde die Y Position zwar verändert,aber der Turm blieb dadurch nicht mehr auf seiner Position...

    Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von HappyMaj0r ()

  • Das geht ganz einfach :)


    Wenn der Turm auf der X-Achse links vom Mittelpunkt sein soll:

    GML-Quellcode

    1. x = obj_body.x + lengthdir_x(-32,richtung)
    2. y = obj_body.y - lengthdir_y(32,richtung)


    Wenn der Turm auf der Y-Achse über dem Mittelpunkt sein soll:

    GML-Quellcode

    1. x = obj_body.x + lengthdir_x(32,richtung+90)
    2. y = obj_body.y + lengthdir_y(32,richtung+90)


    Und unter dem Mittelpunkt mit -90 oder +270.



    Ich hab ziemlich lange gebraucht um das rauszufinden obwohl es dann eh

    sehr logisch war, einfach weil die Formel für links vom Mittelpunkt

    setzen so anders ist. Jedenfalls kannst du mit denen nun den Turm wo

    immer du willst am Schiff hinsetzen solange du weißt wie groß der Radius

    und der Winkel sein müssen :)

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)