• Keine Ergebnisse gefunden

Übungsblatt 5 – EIPNF WS

N/A
N/A
Protected

Academic year: 2022

Aktie "Übungsblatt 5 – EIPNF WS"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Seite 1/3

Übungsblatt 5 – EIPNF WS

Aufgabe 1:

Gegeben ist der Code aus der Vorlesung. Um die Funktionalität der Klasse

RotatingRect zu vervollständigen, muss ihre Animation noch fertiggestellt werden.

Dazu soll das Rechteck abhängig vom animationCounter rotiert werden. Dazu sind folgende Schritte nötig.

1. Zeichne das Rechteck so, dass dessen Mittelpunkt auf dem Ursprung des Koordinatensystems liegt.

2. Rotiere das Rechteck abhängig vom animationCounter. Denke daran: Wir rotieren mit einem Faktor gleich dem Bruchteil von 2*PI (2*PI entspricht einer Drehung um 360°)

3. Verschiebe das Rechteck an seine Zielkoordinaten.

4. Deklariere und erzeuge ein Objekt dieser Klasse und lasse es dir anzeigen.

void setup () { size(600,400);

}

void draw () { background(0);

// Aufruf von .animate() }

void keyPressed () {

println(„DOWN: “ + key);

// Aufruf von .start(key) }

void keyReleased () { println(„UP: “ + key);

// Aufruf von .stop(key) }

(2)

Seite 2/3 // Neuer Tab: Interfaces ---

interface Triggerable { void start(char keyInput);

void stop(char keyInput);

}

interface Animateable { void animate();

}

// Neuer Tab: Animation --- class Animation implements Animateable, Triggerable { char triggerKey;

int animationCounter;

public Animation (char triggerKey) { this.triggerKey = triggerKey;

animationCounter = 0;

}

void start (char keyInput) {

if (keyInput == triggerKey && animationCounter == 0) { animationCounter = 1;

} }

void stop (char keyInput) { if (keyInput == triggerKey) { animationCounter = 0;

} }

void animate () {}

}

(3)

Seite 3/3 // Neuer Tab: RotatingRect ---

class RotatingRect extends Animation { int x,y;

public RotatingRect (int x, int y, char triggerKey) { super(triggerKey);

this.x = x;

this.y = y;

}

void animate () {

if (animationCounter>0) { animationCounter++;

// verschiebe Rechteck // rotiere Rechteck // zeichne Rechteck }

} }

Aufgabe 2:

Schreibe nun eine Klasse ColorCirlce, die eine Kind der Klasse Animation ist. Diese soll auf Tastendruck einen Kreis zeichnen der stets mit einer zufälligen Farbe gefüllt wird.

1. Führe bei Bedarf neue Felder ein.

2. Schreibe Konstruktor.

3. Überschreibe animate.

Referenzen

ÄHNLICHE DOKUMENTE

Aufgabe ist es nun vier verschiedene drawAnimation Methoden zu schreiben, vier Objekte der Klasse Animation zu erzeugen, mit unterschiedlichen Charactern zu initialisieren

Als Inspiration kannst du die folgenden Ideen nehmen, aber auch stattdessen eigene programmieren.. Schreibe deine Klassen und füge Objekte dieser dem Animation

Dem Konstruktor werden Parameter für Position und Größe übergeben, die Bewegungsrichtung wird zufällig generiert.. Die Methode move bewegt den Ball und ändert

Was musst du im Code ändern, damit das Sample beendet wird, sobald die verantwortliche Taste losgelassen wird?.

Bewegen wir unsere Maus über den Rechtecken soll nun immer das darunter liegende rot leuchten, die anderen bleiben weiß. Nutze dazu if, else

In der Methode sollen mit einer Schleife die übergebenen Integer des Arrays durchlaufen werden und für jede Zahl unter 1 eine Leerstelle und für jede andere Zahl ein * in der

Schreibe eine Methode „moveUp“, die den Schläger vertikal nach oben bewegt und eine Methode „moveDown“, die eine Bewegung nach

Rufe im EventHandler abhängig von der gedrückten Taste die Methoden setUP und setDOWN, sowie stop auf beiden Bat-Objekten auf.. Passe die Dimension des Fensters (w und h in