Hallo zusammen,
ich sitze gerade an einem Projekt und möchte eine Animation auf einem Hintergrundbild laufen lassen.
Theoretisch kein Problem, aber wenn ich es folgendermaßen mache, flackert das bild die ganze zeit, da es ja immer wieder neu gezeichnet wird. (steht ja mit in der paint methode, die ja ununterbrochen aufgerufen wird).
Wie kann ich also auf einem Bild zeichnen ohne, dass dieses flackert (kann man ein Hintergrundbild auch außerhalb der paint methode erzeugen? Es soll auf jeden fall nur einmal gezeichnet werden?
Wie kann ich das umsetzen??
Schon im Voraus DANKE für eure Antwort.
Marcel
ich sitze gerade an einem Projekt und möchte eine Animation auf einem Hintergrundbild laufen lassen.
Theoretisch kein Problem, aber wenn ich es folgendermaßen mache, flackert das bild die ganze zeit, da es ja immer wieder neu gezeichnet wird. (steht ja mit in der paint methode, die ja ununterbrochen aufgerufen wird).
Code:
import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class gradnetz extends Applet implements Runnable, ActionListener
{ Thread myThread;
Image bild;
int y=5;
public void init()
{
bild = getImage( getDocumentBase(), "hinter.jpg" );
}
public void start(){
if(myThread==null){myThread=new Thread(this);
myThread.start();}
}
public void run(){
Thread thisThread = Thread.currentThread();
while(myThread == thisThread){
y++;
repaint();
try{myThread.sleep(20);}catch(InterruptedException e){}
if(y==295){stop(); y=5; lauf=false; halt.setLabel("Weiter 1");}
}
}
public void stop(){
myThread = null;
}
public void paint(Graphics g){
g.drawImage( bild, 0, 0, this );
g.setColor(Color.red);
g.drawLine(5,y,200,y);
}
}
Wie kann ich also auf einem Bild zeichnen ohne, dass dieses flackert (kann man ein Hintergrundbild auch außerhalb der paint methode erzeugen? Es soll auf jeden fall nur einmal gezeichnet werden?
Wie kann ich das umsetzen??
Schon im Voraus DANKE für eure Antwort.
Marcel