Frage

Ich schreibe ein Spiel in Java, und brauchen Maus Interaktion haben. Ich wollte Mouseadapter verwenden, aber ich habe in es sah einige, und es scheint keine Mittel zu haben, der die Position des Mauszeigers ohne Klick oder die Aktion zu bestimmen getan ... Was ist der empfohlene Weg wäre von dies zu tun?

Ein paar Fragen:

  1. Kann die Maus „Position“, um die Position der Maus bezieht sich in Bezug auf die Grenzen des Monitors, die Grenzen des Spiels, oder würde es als Bewegungen relativ zu einer vorherigen Position dargestellt werden?

  2. Wie würde man den Mauszeiger in einem deaktivieren Fenster Anwendung? (Dh. Ein Ego-Shooter, in dem die Mausbewegungen dreht sich die Spieler sehen, anstatt einen Zeiger zu bewegen) Ist das möglich?

War es hilfreich?

Lösung

Sehen Sie sich die Mouse . Dies ermöglicht Ihnen, Mausbewegungen zu verfolgen. Es wird Ihnen die Position der Maus innerhalb der Komponente, die es angebracht ist. Aber wenn man sich SwingUtilities Klasse gibt sind einige bequemen Methoden Punkte auf den Bildschirm oder andere Komponenten oder den Monitor.

konvertieren

Für die Cursor, haben Sie die Möglichkeit Ihre eigene Bitmap für die Cursor zu setzen, können Sie hier . Oder für eine neuere SO beantworten, können Sie href="https://stackoverflow.com/questions/1984071/how-to-hide-cursor">. So könnte man den Cursor verstecken, oder es in ein leeres Bitmap gesetzt, und dann abfangen die Mausbewegungen und Ereignisse Ihre Ansicht zu steuern.

Andere Tipps

Ein Tutorial auf Mausereignisse unter: http://java.sun.com/docs/books/ tutorial / uiswing / events / mouselistener.html

Wenn Sie hier: http://java.sun.com/ JavaSE / 7 / docs / api / java / awt / event / MouseEvent.html

können Sie die absolute Position erhalten, auf dem Bildschirm oder Koordinaten in Bezug auf die Komponente.

Wenn es eine Bewegungsrichtung zu ändern ist, dann müssen Sie die Maus-Listener entfernen, oder Sie können nur eine gewisse Logik haben, wo der Event-Handler wird nur Ausgang, nichts zu tun. Ich denke, das wäre besser, sonst muss man im Auge behalten, wenn Sie die Zuhörer hinzufügen und entfernen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top