window_mouse_set(x,y)

  • GM 8

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

  • window_mouse_set(x,y)

    Ich habe ein Problem.
    Ich möchte gerne den Mauszeiger während des Spiels positionieren.
    Das funkioniert ja mit den Funktionen window_mouse_set bzw. display_mouse_set.

    Mein Raum ist kleiner, als die Bildschirmauflösung und ich lasse das Spiel im FullscreenMode laufen (aber auf 100% Größe, also mit schwarzem Rand drum herum)
    Wenn ich nun meinen Mauszeiger auf die Koordinaten (100,100) setzen will, dann setzt er mit beiden Funktionen den Curser auf (100,100) im Bezug auf meinen ganzen Bildschirm, also außerhalb des Raumes im schwarzen Bereich.
    Wie bekomme ich die Koordinaten heraus, wo mein Raum anfängt, sodass ich den Mauszeiger richtig positionieren kann? ?(
  • Ich weiß ja nicht wie du es grade hast, aber:

    GML-Quellcode

    1. var xx, yy;
    2. xx = (window_get_width() - room_width)/2;
    3. yy = (window_get_height() - room_height)/2;
    4. window_mouse_set(xx + 100, yy + 100);

    Sollte im grunde funktionieren.

    Edit: Stimmt ja, die breite und höhe muss noch durch 2 geteilt werden.
    :saint:

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

  • Für die Bildschirmauflösung gibt es die Funktionen display_get_width() und display_get_height().
    Der Code von Tice ist fast richtig, allerdings muss xx und yy noch durch 2 geteilt werden, damit man nur die Breite vom Rand rechts und oben bekommt.

    D.h.: (Mauskoordinaten X und Y)

    GML-Quellcode

    1. var xx, yy;
    2. xx = (display_get_width() - room_width) / 2;
    3. yy = (display_get_height() - room_height) / 2;
    4. window_mouse_set(xx + X, yy + Y);


    oder in einer Zeile:

    GML-Quellcode

    1. window_mouse_set((display_get_width()-room_width)/2 + X, (display_get_height()-room_height)/2 + Y)



    EDIT: Da hab ich wohl übersehen, dass alles schon geklärt ist...