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:18] – [Beispiel 2: Dreien eines Dreiecks mit den Tasten r und l] 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 90: | Zeile 88: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | ===== Beispiel 3: Überschreiben der onMouseEnter/ | ||
+ | Setze die Geschwindigkeit auf maximal, starte das Programm und fahre mit der Maus über die Quadrate! | ||
+ | < | ||
+ | <div class=" | ||
+ | <script type=" | ||
+ | new World(1000, 1000); | ||
+ | |||
+ | for(int i = 0; i < 10; i++) { | ||
+ | | ||
+ | new MouseOverQuadrat(100 * i + 10, 100 * j + 10, 80); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | while(true){ } | ||
+ | |||
+ | class MouseOverQuadrat extends Rectangle { | ||
+ | |||
+ | | ||
+ | super(x, y, breite, breite); | ||
+ | setFillColor(Color.white); | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== 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.1609942734.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)