in richtung maus bewegen und stoppen

  • GM 8

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

  • in richtung maus bewegen und stoppen

    hey leute,



    ich hätte gerne das sich mein object in richtung maus bewegt wenn ich mit der maus auf eine position klicke, und wenn das object die die position erreicht soll es stoppen. Ich habs mit dem code hier versucht, bin aber gescheitert:

    im create event

    GML-Quellcode

    1. maus_klick_x=0;
    2. maus_klick_y=0;




    im step event

    GML-Quellcode

    1. if mouse_check_button_pressed(left)
    2. {
    3. maus_klick_x=mouse_x;
    4. maus_klick_y=mouse_y;
    5. move_towards_point(maus_klick_x,maus_klick_y,8);
    6. }
    7. if x=maus_klick_x && y=maus_klick_y
    8. speed=0;
    Alles anzeigen




    Kann jemand helfen? Danke im vorraus.

    P.S. ich hab keine ahnung wie ich "linke maustaste" in GML schreibe, dewwegen hab ich einfach left hingeschrieben :whistling:
  • Also in der Hilfe kannst du ja mal nach dem Begriff "mouse_check_button_pressed" suchen, dort steht wie du welche Tasten ansprichst.

    Spoiler anzeigen

    Um zu prüfen, ob ein bestimmter Mausknopf gedrückt ist,
    verwende folgende Funktionen.
    Dies ist besonders nützlich, wenn mehrere Tasten gleichzeitig
    gedrückt sind.



    mouse_check_button(numb) Gibt an, ob der
    Mausknopf momentan gedrückt ist (verwende als Werte mb_none,
    mb_left, mb_middle, oder mb_right).

    mouse_check_button_pressed(numb) Gibt an, ob der
    Mausknopf seit dem letzten step gedrückt wurde.

    mouse_check_button_released(numb) Gibt an, ob der
    Mausknopf seit dem letzten step losgelassen wurde.


    Ansonsten müsste der Code Funktionieren, jedoch ist die zweite if-Abfrage ziemlich ungenau. Damit deine Instanz hält, müsste sie haargenau mit dem eingestellten Speed, und von ihrer jetzigen Position, auf den angeklickten Punkt ankommen. Eine elegantere Lösung wäre es, die if-Abfrage so umzubauen, dass es reicht wenn die Instanz ziemlich nah an dem Punkt ist.

    GML-Quellcode

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


    MfG.,
    Mokuyobi
    木曜日 (Mokuyōbi)