U
Unbekannter Gast
Gast
Hallo,
habe 3 Klasse (Animator extends Theards, AniApplet extends Applet, AniCanvas extends Canvas implements Animation) und 1 Interface(Animation).
Im Interface Animation gibt es die Methode animieren(), die sieht in der AniCanvas Klasse ca. so aus:
Die paint-Methode hat nur die zu zeichnende Fläche mit Farbsetzung (setColor).
....
In der AniApplet Klasse wird beim init() die AniCanvas mit new initialisiert und mit add hinzugefügt.
Bei start() wird die Klasse Animator initialisiert (mit dem Intervall und der AniCanvas) und die Methode run() aufgerufen.
stop() enthält lediglich die abbruch Routine.
Hier die run() Methode, das aniObjekt wird im Konstuktur von AniApplet übergeben.
Allerdings scheint er nicht das Bild neu zu malen. Da ich recht neu bin in Java (und OOP) weiß ich nicht genau wo da die Fehler sind.
Auf eine Antwort würde mich ich freuen.
Bye
habe 3 Klasse (Animator extends Theards, AniApplet extends Applet, AniCanvas extends Canvas implements Animation) und 1 Interface(Animation).
Im Interface Animation gibt es die Methode animieren(), die sieht in der AniCanvas Klasse ca. so aus:
Code:
public void animieren()
{
//variablen x,y ändern, neu berechnen
x = x + neuerWertx;
y = y + neuerWerty;
repaint();
}
Die paint-Methode hat nur die zu zeichnende Fläche mit Farbsetzung (setColor).
....
In der AniApplet Klasse wird beim init() die AniCanvas mit new initialisiert und mit add hinzugefügt.
Bei start() wird die Klasse Animator initialisiert (mit dem Intervall und der AniCanvas) und die Methode run() aufgerufen.
stop() enthält lediglich die abbruch Routine.
Hier die run() Methode, das aniObjekt wird im Konstuktur von AniApplet übergeben.
Code:
Animation aniObjekt;
...
...
...
public void run()
{
while (lauf == true)
{
try
{
sleep(intervall);
aniObjekt.animieren();
}
catch (InterruptedException e)
{
lauf = false;
}
}
}
Allerdings scheint er nicht das Bild neu zu malen. Da ich recht neu bin in Java (und OOP) weiß ich nicht genau wo da die Fehler sind.
Auf eine Antwort würde mich ich freuen.
Bye