api:documentation:grafik:mausereignisse
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
api:documentation:grafik:mausereignisse [2021/01/06 15:53] – [Beispiel 3: Überschreiben der onMouseEnter/onMouseLeave-Methoden] Martin Pabst | api:documentation:grafik:mausereignisse [2023/04/28 10:41] (aktuell) – [Beispiel 4: Drag and Drop] Martin Pabst | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
</ | </ | ||
===== Beispiel 1: Überschreiben der onMouseDown-Methode ===== | ===== Beispiel 1: Überschreiben der onMouseDown-Methode ===== | ||
+ | Stelle die Geschwindigkeit auf maximal, starte das Programm und klicke zuerst mit der linken Maustaste, dann mit der rechten Maustaste auf die Quadrate! | ||
< | < | ||
<div class=" | <div class=" | ||
Zeile 57: | Zeile 58: | ||
- | ===== Beispiel 2: Dreien | + | ===== Beispiel 2: Drehen |
+ | Stelle die Programmgeschwindigkeit auf maximal, starte das Programm und drücke die Tasten r oder l. Probiere auch aus, was passiert, wenn Du die Tasten für längere Zeit hältst! | ||
+ | \\ | ||
+ | Falls das Programm nicht reagiert, hat vielleicht irgendein anderes Control im Browser den Tastaturfokus. Klicke in diesem Fall einfach einmal mit der Maus in den Grafikbereich, | ||
< | < | ||
<div class=" | <div class=" | ||
<script type=" | <script type=" | ||
- | // Stelle die Programmgeschwindigkeit auf maximal, starte das Programm und drücke | ||
- | // die Tasten r oder l. Probiere auch aus, was passiert, wenn Du die Tasten für längere Zeit hältst! | ||
- | // | ||
- | // Fall das Programm nicht reagiert, hat vielleicht irgendein anderes Control im Browser den | ||
- | // Tastaturfokus. Klicke in diesem Fall einfach einmal mit der Maus in den Grafikbereich, | ||
- | // den Tastaturfokus erhält. | ||
new World(1000, 1000); | new World(1000, 1000); | ||
new Zeiger(); | new Zeiger(); | ||
Zeile 115: | Zeile 113: | ||
| | ||
| | ||
+ | | ||
} | } | ||
| | ||
| | ||
+ | | ||
} | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Beispiel 4: Drag and Drop ===== | ||
+ | Durch geschickte Nutzung der obigen Handler lässt sich Drag and Drop per Maus verwirklichen: | ||
+ | |||
+ | < | ||
+ | <div class=" | ||
+ | <script type=" | ||
+ | println(" | ||
+ | new DraggableRectangle(100, | ||
+ | |||
+ | |||
+ | class DraggableRectangle extends Rectangle { | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | |||
+ | |||
+ | | ||
+ | if(state == " | ||
+ | | ||
+ | | ||
+ | state = " | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(state != " | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(state != " | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(state == " | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | state = " | ||
+ | stopTrackingEveryMouseMovement(); | ||
+ | getWorld().setCursor(" | ||
+ | } | ||
+ | |||
} | } | ||
</ | </ |
api/documentation/grafik/mausereignisse.txt · Zuletzt geändert: 2023/04/28 10:41 von Martin Pabst