Objekt abhängig der von der Richtung des Ursprünglichem Objektes

  • GM 7
  • Objekt abhängig der von der Richtung des Ursprünglichem Objektes

    So ich hätte da mal ein kleine Problem. Und zwar möchte ich ein Objekt erstellen (Schuss) der immer vom Objekt/in blickrichtung (direction) rechts hinten erstellet wird. Quasi wie bei einem Kampfjetz wo die Raketen immer vom flügel abgefeuert werden. Also Relative Position zum Flugzeug.
    Hab da mal ne Skizze gemacht damit ihr mein Problem versteht.


    GML-Quellcode

    1. //Dreht das Model um die eigene z Achse
    2. d3d_transform_set_identity()
    3. d3d_set_shading(true)
    4. d3d_set_lighting(0)
    5. d3d_transform_add_translation(-x,-y,-z)
    6. d3d_transform_add_rotation_z(direction)
    7. d3d_transform_add_translation(x,y,z)
    8. //so wenn ich hier nen Draw event rein mache funst das auch alles.Das wird alles schön und sauber mit gedreht und Korekt gezeichnent.
    9. instance_create(x-3,y+1.25,torpedo_01)

    doch ich will diese objekt(torpedo_01), wie bei einem Jet an der Tragfläche, bei x-3,y+1.25 erstellen.
    Doch in diesem falle dreht sich der x und y Punkt nicht mit realtiv zujm objekt mit. Aber bei allen anderen zb drd_draw_wall(xyzxyz.... funst es.


    Hab es auch mit erneuter verschiebung in der schon verschobenen Transition durch " d3d_transform_add_rotation_z(direction)" versucht.

    GML-Quellcode

    1. //Dreht das Model um die eigene z Achse
    2. d3d_transform_set_identity()
    3. d3d_set_shading(true)
    4. d3d_set_lighting(0)
    5. d3d_transform_add_translation(-x,-y,-z)
    6. d3d_transform_add_rotation_z(direction)
    7. d3d_transform_add_translation(x,y,z)
    8. d3d_transform_set_translation(x-3,y+1.25,z);
    9. instance_create(x,y,torpedo_01)
    10. d3d_transform_set_identity();
    Alles anzeigen


    Ab klapt alles nicht. Der Torpedo wird immer in der Gesamt welt x-3,y+1.25 erstellt.
    Woran könnte das liegen.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Du hast das ziemlich schlecht erklärt und mir fallen da mehrere mögliche Fehlerquellen ein. Ich verweise dich einfach mal auf folgende Funktion, in der Hoffnung, dass es das ist, was du suchst:
    lengthdir_x(len,dir) Returns the horizontal x-component of the vector determined by the indicated length and direction.
    lengthdir_y(len,dir) Returns the vertical y-component of the vector determined by the indicated length and direction.

    Ein Übersetzung der Hilfe findest du unter gm-d.de/help
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Benutzer online 1

    1 Besucher