Direction Problem

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

  • Direction Problem

    Hallo.
    Ich weiß jetzt nicht ganz wie ich das Problem beschreiben soll, aber ich probier es mal...

    Das Objekt soll sich "mit der Maus drehen".
    Wenn man also zum Beispiel die Maus nach unten zieht, dann soll das Objekt sich nach unten drehen, aber immernoch auf den selben Ort stehen d.h. nicht zur maus hinbewegen oder so.
    Das Objekt soll sich nur in die Richtung drehen, wo der Mauszeiger ist.

    Wenn man dann Linksklick macht, bewegt sich das Objekt zum Punkt hin und bleibt dann stehen, wenn es dort angekommen ist.
    Das Problem ist nun, dass ich absolut keine Ahnung habe, wie ich das machen soll. Ich habe das mit der Direction schon hinbekommen, aber das Sprite blebit immernoch "normal".

    Ich hoffe ihr könnt mir helfen.

    Mit frendlichem Gruß
    icqgamer
  • Mit image_angle kannst du das Sprite drehen. Mit point_direction(x,y,mouse_x,mouse_y) die richtung zur Maus und dann machst du einfach:
    Im Stepevent:

    GML-Quellcode

    1. image_angle=point_direction(x,y,mouse_x,mouse_y);


    Im global Mouse_Press_left:

    GML-Quellcode

    1. direction=point_direction(x,y,mouse_x,mouse_y)
    2. speed=2; // was auch immer


    maxda

    Edit: zu spät

    @ Basti: Wieso - 80 ??? Wenn das Sprite nach oben ausgerichtet ist dann vielleicht + 90 oder wenn es nach unten ausgerichtet ist -90, aber 80???
  • Willst du denn, dass das Objekt anhält, wenn man die Maus loslässt?
    In dem Fall bei Global Mouse Released einfach speed = 0;
    Ansonsten speicherst du die Koordinaten in zwei Variablen und machst im Step Event folgendes:

    GML-Quellcode

    1. if (point_distance(x,y,target_x,target_y)<speed) {
    2. x = target_x; y = target_y; speed = 0;
    3. }
    Auf Deutsch: Wenn du Nahe genug am Zielpunkt dran bist, springe drauf und bleib stehen.
    EDIT: Fehler ausgebessert.

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

  • Ich habe im Step Event nun:

    GML-Quellcode

    1. if (point_distance(x,y,target_x,target_y)<speed)
    2. {
    3. x = target_x;
    4. y = target_y;
    5. speed = 0;
    6. }


    Aber er kennt die Variable target_x und target_y nicht.
    Muss das nicht heißen target_x = x anstatt x = target_x ??

    Und in deinem Code ist eine ")" zu viel ^^

    Mit freundlichem Gruß
    icqgamer
  • Benutzer online 4

    4 Besucher