• Keine Ergebnisse gefunden

PROCESSING PROCESSING

N/A
N/A
Protected

Academic year: 2022

Aktie "PROCESSING PROCESSING"

Copied!
14
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

PROCESSING PROCESSING

JAVAFX JAVAFX

Created by Michael Kirsch & Beat Rossmy

(2)

INHALT INHALT

1.

1.

2.

3.

2.

1.

2.

3.

SCORE

Label

Update Text

Wie/Wo setzen wir den Score?

Parent?

Wie können wir auf das Objekt

verweisen in dem ein Objekt enthalten ist?

Referenz auf das Eltern-Element Wie übergeben wir diese Referenz?

3.

1.

Was können wir noch alles implementieren?

Ideen

(3)

SCORE

SCORE

(4)

LABEL LABEL

JavaFX Label ermöglichen uns das darstellen von Text in unsrem Programm.

import javafx.scene.control.Label;

// ...

public class Main extends Application { Label score;

// ...

public void start(Stage primaryStage) throws Exception{

// ...

score = new Label ("0:0");

score.setLayoutX(w/2);

root.getChildren().add(score);

// ...

(5)

UPDATE TEXT UPDATE TEXT

Um den Spielstand zu aktualisieren, müssen wir bei jedem Punktgewinn den Text des Labels überschreiben. Auch die

Verwendung von Variablen kann das nicht verhindern, da diese zu einem String konvertiert werden.

import javafx.scene.control.Label;

// ...

public class Main extends Application { Label score;

int lPoints, rPoints;

// ...

void updateScore () {

score.setText(lPoints+":"+rPoints);

}

public void start(Stage primaryStage) throws Exception{

// ...

} }

(6)

WIE/WO SETZEN WIR DEN SCORE?

WIE/WO SETZEN WIR DEN SCORE?

Es gibt dazu mehrere Möglichkeiten. In unserer bisherigen

Implementierung bietet es sich an dies in der Klasse Ball während move zu erledigen.

// ...

public class Ball { // ...

void move () { // ...

if (x+r>parent.w-bat.w || x-r<bat.w) { if (x-r<bat.w) {parent.lPoints++;}

else {parent.rPoints++;}

parent.updateScore();

reset();

}

node.setCenterX(x);

node.setCenterY(y);

(7)

PARENT?

PARENT?

(8)

WIE KÖNNEN WIR AUF DAS OBJEKT WIE KÖNNEN WIR AUF DAS OBJEKT

VERWEISEN IN DEM EIN OBJEKT VERWEISEN IN DEM EIN OBJEKT

ENTHALTEN IST?

ENTHALTEN IST?

Bisher haben wir stets in Objekten auf die enthaltene Objekte und Felder oder in denen enthaltene Objekte und Felder verwiesen.

class Ball { int x,y;

// ...

}

class Game { Ball b;

// ...

void doSomething () { b.x = 100;

(9)

WIE KÖNNEN WIR AUF DAS OBJEKT WIE KÖNNEN WIR AUF DAS OBJEKT

VERWEISEN IN DEM EIN OBJEKT VERWEISEN IN DEM EIN OBJEKT

ENTHALTEN IST?

ENTHALTEN IST?

In die andere Richtung können wir den Punkt-Operator nicht verwenden. Was ist die Lösung?

class Ball { int x,y;

// ...

void doSomething () {

// wie kann ich hier den score von Game erhöhen?

} }

class Game { Ball b;

int score;

// ...

}

(10)

REFERENZ AUF DAS ELTERN-ELEMENT REFERENZ AUF DAS ELTERN-ELEMENT

Wenn Ball das Eltern-Element selbst als Feld enthält, kann man über den Punkt-Operator auf score zugreifen.

class Ball { int x,y;

Game parent;

// ...

void doSomething () { parent.score++;

} }

class Game { Ball b;

int score;

// ...

(11)

WIE ÜBERGEBEN WIR DIESE REFERENZ?

WIE ÜBERGEBEN WIR DIESE REFERENZ?

Im Konstruktor-Aufruf können wir durch this die Referenz an das Eltern-Objekt übergeben.

class Ball { int x,y;

Game parent;

public Ball (Game p) { parent = p;

}

// ...

}

class Game { Ball b;

int score;

public Game () {

b = new Ball(this);

} }

(12)

WAS KÖNNEN WIR NOCH WAS KÖNNEN WIR NOCH ALLES IMPLEMENTIEREN?

ALLES IMPLEMENTIEREN?

(13)

IDEEN IDEEN

Ball durh den Schläger Drall mitgeben.

Schläger beschleunigt anstatt konstante Geschwindigkeit.

Multiball Modus.

...

(14)

QUELLEN

QUELLEN

Referenzen

ÄHNLICHE DOKUMENTE

Angelehnt an Zoog aus [Sh08], ist Walli eine einfache, achsensymmetrische Figur, welche durch die wichtigsten grafischen Primitive in Processing erzeugt werden kann.. Die

Andreas Luthe, Torhüter des FC Augsburg, ist Initiator des Projekts »In safe hands«, das neben Fußball den Schwerpunkt auf die Vermittlung politischer Bildung in den

Seit seiner Emeritierung engagiert er sich in der Sächsischen Akademie der Wissenschaften ehrenamtlich für die Forschung in Sachsen.. Als Vorsitzen- der des Fördervereins

public ColorCircle (int x, int y, char c) { // Aufruf des Konstruktors der Elternklasse.. AUFGABE 2

static markiert Felder oder Methoden einer Klasse, die auch ohne das Erzeugen eines Objekts existieren. Diese

Erzeuge in der main Methode ein Objekt der Klasse Ball und rufe auf diesem Objekt innerhalb einer Schleife move und plot auf. Lasse sich die Schleife 10.000

Die Veranstalter TU Graz, FH JOANNEUM, Kammer der ZiviltechnikerInnen für Steiermark und Kärnten, Hochschülerinnen- und Hoch- schülerschaft der TU Graz sowie alumniTU- Graz

Diskussionspartner waren der ehemalige EU- Kommissar Franz Fischler, der Präsident der Bundeskammer der Ziviltechnikerinnen und -techniker Georg Pendl, Helmut Kramer,