Phase 3 | Animationen durch Objektbewegungen
🪧 Worum geht es in dieser Phase?
Wir wollen Objekte auf die klassische Art bewegen: Das Koordinatensystem bleibt fix und es verändern sich die Koordinaten der Objekte, die wir bewegen wollen.
🌱 Aufgaben
Im folgenden Codebeispiel siehst du, wie man mit Hilfe von Variablen einen Kreis von links nach rechts über den Bildschirm wandern lassen kann. Zum Beispielprogramm: 👾 Punktbewegung horizontal
- 👤 Analysiere das Programm und ändere es so ab, dass sich ein Kreis (oder eine andere Figur) von oben nach unten über den Bildschirm bewegt.
- 👤 Schreibe ein Programm, bei dem sich die Größe einer Figur verändert.
Im Programm aus Aufgabe 1 findet sich die Zeile position = position + 1
. Eine solche Gleichung könnte man sich für eine Variable x auch in der Mathematik vorstellen: .
Nur: In dem Programmcode ist die Zeile korrekt, in der Mathematik würde die Zeile einen Widerspruch produzieren.
- 👤 Erkläre, wieso.
- 👤 Löse die folgende LearningApp zum Unterschied von Variablen in der Mathematik und Informatik.
Neben selbst definierten Variablen kann man auch auf eine Reihe von Systemvariablen zugreifen. Damit lassen sich interaktive Animationen erstellen:
Systemvariable(n) | Typ | Beschreibung |
---|---|---|
mouxeX , mouseY |
int |
aktuelle Position des Mauszeigers |
pmouseX , pmouseY |
int |
Position des Mauszeigers im vorherigen Frame |
width , height |
int |
Pixelgröße des Grafikfensters: Breite bzw. Höhe |
frameRate |
float |
Anzahl der Frames pro Sekunde, also wie oft draw() aufgerufen wird |
frameCount |
int |
Anzahl der bisherigen Aufrufe von draw() seit Programmstart |
keyPressed |
boolean |
Wahrheitswert, ob eine Taste gedrückt ist |
key |
char |
zuletzt gedrückte Taste |
keyCode |
int |
zuletzt gedrückte Taste als Zahlencode (z. B. für Cursertasten) |
mousePressed |
boolean |
Wahrheitswert, ob ein Mausbutton gedrückt ist |
mouseButton |
int |
die aktuell gedrückte Maustaste |
displayHeight , displayWidth |
int |
Maße des gesamten Bildschirms in Pixeln |
- 👤 Erstelle ein Programm, bei dem fortlaufend an der Mausposition ein Kreis gezeichnet wird.
- 👤 Erstelle ein Programm, bei dem ein Kreis zusätzlich an einer fiktiven vertikalen Achse in der Bildmitte gespiegelt wird:
- 👤 Erstelle weitere Animationen deiner Wahl, bei denen du Systemvariablen verwendest.