Problem beim erstellen von Objekten an rotierender Position

  • GM 8

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

  • Problem beim erstellen von Objekten an rotierender Position

    Hallo Leute!
    Wie die Überschrift ja schon sagt hab ich ein Problem beim erstellen von Objekten an einer rotierender Position.
    Bei einem Gegner der eine permanente hin und her Pendelbewegung macht will ich in verschiedenen Zeitabständen vor seinem Mund ein Schussobjekt erstellen.
    Hier mal zur verdeutlichung eine Skizze:


    Und hier ist der Code den ich dafür benutze:

    GML-Quellcode

    1. shootx=lengthdir_x(-60,image_angle+180)
    2. shooty=lengthdir_y(-446,image_angle+90)
    3. instance_create(x-shootx,y-shooty,o_ShootE1)


    Die Werte die ich bei shootx und shooty raus bekomme weichen nur minimal von 60 bzw. 446 ab, was ja nicht sein kann, dadurch wird das Schussobjekt auch logischerweise immer an der fast gleichen Stelle erstellt.
    Ich stell mich wahrscheinlich gerade etwas dumm an, aber ich komm einfach auf keine Lösung, hat jemand eine Idee?

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

  • hm, ich glaube du hast du Lengthdir funktionen falsch benutzt.
    Du willst doch den Punkt da oben haben der sich bewegt?
    Dann versuchs mal so, wenn der Abstand zwischen origin und dm gewollten Punkt bei Image_angle = 0 bei 450 liegt (gegebenenfalls den wert verändern):

    shootx=lengthdir_x(450,image_angle)
    shooty=lengthdir_y(450,image_angle)

    Um die Koordinaten des selben Punktes zu erhalten,
    müssen die Argumente der beiden Funktionen gleich sein.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Warum hast du überhaupt unterschiedliche Werte?
    Das erste Argument bei lengthdir_x bzw. lengthdir_y ist ja die Länge von deinem Vektor, also der Abstand, von den origin deines Gegners bis zum Mund.
    Der ist ja wohl immer gleich.
    Und das zweite Argument ist die Richtung deines Vektors. Also image_angle von deinem Gegner (wahrscheinlich noch +90). Muss aber auch bei beiden gleich sein.
    Dann sollte es funktionieren...

    €dit: da war wohl jemand schneller... ;)