Begrenzter Mausraum

  • GM 8

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

  • Begrenzter Mausraum

    Hi Leute :D
    Ich mach grad ein 3D Editor in dem man mit der Maus baut und die Kamera immer auf die Maus zeigt.
    Aber ich habe ein problem:
    Man kann die Maus nur bis zum Ende des Computerrahmens führen, dann gehts nicht mehr weiter.
    :S brauche unbedingt Hilfe!!! :S
  • Läuft das Spiel im Fullscreen oder in der Fensterdarstellung? Der GM ermittelt normalerweise auch außerhalb des Raumes die Koordinaten der Maus (sollte daher eigendlich egal sein). Wie sieht dein Skript aus? Vielleicht können wir dort den Fehler suchen.
  • lucki90 schrieb:

    Läuft das Spiel im Fullscreen oder in der Fensterdarstellung? Der GM ermittelt normalerweise auch außerhalb des Raumes die Koordinaten der Maus (sollte daher eigendlich egal sein). Wie sieht dein Skript aus? Vielleicht können wir dort den Fehler suchen.
    Das Problem ist nicht das Fenster, sondern der Bildschirm allgemein.

    Dafür könnten dir diese Befehle weiterhelfen:
    Spoiler anzeigen
    In rare cases you might want to know the position of the mouse with respect to the window. (Normally you always use the mouse position with respect to the room or with respect to a view.) The following functions exist for this.
    window_mouse_get_x() Returns the x-coordinate of the mouse in the window.
    window_mouse_get_y() Returns the y-coordinate of the mouse in the window.
    window_mouse_set(x,y) Sets the position of the mouse in the window to the indicated values.


    An deiner Stelle würde ich versuchen, die Maus mittels diesen Befehlen (und anderen window_ Befehlen, einfach mal in der Hilfe gucken) mittig des Bildschirms halten, und beim Bewegen die Differenz zur mitte errechnen. Dann verschiebst du deine Kamera um diesen Punkt.
    Hab mich selbst damit noch nie beschäftigt, aber soweit ich weiß ist das ne gute möglichkeit. Wenn du willst das die Maus aber nicht nur mittig á la Egoshooter ist, kannst du ja auch wie bei manchen MMORPG´s es der fall ist, einstellen das sich die Kamera nur beim gedrückthalten der zum Beispiel rechten Maustaste bewegt. Da könnte man beispielsweiße die Maus für die Zeit unsichtbar machen, die alte Position speichern, sie dann mittig stellen, beim Bewegen die Differenz ausrechnen und die Kamera um dies (ggf. mal einen bestimmten Faktor) verschieben, und wenn die Maustaste wieder losgelassen wird, die Maus an ihre alte Position tuen, und natürlich wieder sichtbar machen.

    Beispielcode hab ich jetzt nicht, da wie gesagt ich soetwas noch nicht gemacht habe.

    Mfg.,
    Mokuyobi
    木曜日 (Mokuyōbi)
  • Das Spiel läuft im Fullscreen aber ich habs auch im window mode ausprobiert, ändert sich aber nichts.
    Mein Script ist eigentlich ziemlich einfach :D Step event vom Bau Objekt:

    GML-Quellcode

    1. x = mouse_x
    2. y = mouse_y

    Und die Kamera zeigt auf dieses Objekt.Da das Spiel aber 3D ist ist die Maus nicht ganz auf dem Objekt, sondern ein bisschen versetzt.Wenn die Maus dann an den Bildschirmrand kommt geht das Objekt auch nicht mehr weiter.
    ich hab auch die Maus in die Mitte des Bildschirms platziert, aber dann kann sie sich ja nicht mehr bewegen.
    Aber warscheinlich muss man das Objekt nicht auf die Maus Richten sondern nur die gleichen bewegungen wie die Maus machen, denn dann kann man einstellen das wenn die Maus am Bildschirmrand ist wieder in die Mitte geht, das Objekt aber solange stehen bleibt. Nur weiß ich nicht wie das geht :D ich hab auch in der Hilfe nachgekuckt.
    Ich hätte nur eine Lösung:
    Man kann das Objekt zusätzlich mit den Tasten bewegen und somit auch den "Bildschirm", also wenn die Maus am Rand ist kann man einfach in eine Richtung drücken und man hat wieder Platz.
    Aber vielleicht weiß jemand eine bessere Lösung ;)
  • Benutzer online 1

    1 Besucher

  • Tags