|
| flimmer under animation på trods af double~ Fra : Soren Christensen |
Dato : 07-12-01 02:38 |
|
Hej jeg håber i bærer over med det engelske - jeg postede spørgsmålet i en
anden newsgroup.
My problem is screen flickering during execution of an applet.
The applet shows a ball bouncing against defined borders.
I run the position updating and doublebuffered painting in a seperate
thread.
From this thread, i call repaint().
Now i don't see why it should flicker when all the drawing is done before i
call repaint. All it has to do is to draw the doublebuffered image on
screen.
Here's the implemented methods from Runnable:
public void start()
{
mythread = new Thread(this,"mintraad");
mythread.start();
}
public void run()
{
Thread cThread = Thread.currentThread();
while (cThread == mythread)
{
for (int i = 0 ; i>-1 ; i++)
{
myball.moveit(); //updates position of ball
sG.drawImage(bground,0,0,this); // draws clean background
sG.fillOval(myball.x-ballradius,myball.y-ballradius,2*ballradius,2*ballradiu
s); //draws the ball on top of it
repaint();
delay(20);
}
}
Here's my paint method:
public void paint(Graphics g)
{
g.drawImage(s,0,0,this);
}
And the delay method:
public void delay(int millis)
{
try {Thread.sleep(millis);}
catch (Exception ign) {}
}
Hope it is not too confusing, i suppose most beginners have been through
this so maybe you've had the same problem.
Any help will be very appreciated!!
Soren
| |
Martin Mouritzen (07-12-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 07-12-01 02:41 |
|
After I finished the 3 Pan Galactic Gargle Blasters, "Soren
Christensen" <schr@mail1.stofanet.dk> just offered me, he muttered
some weird stuff, and I had to correct this gibberish:
>From this thread, i call repaint().
Prøv at lav (overskriv) følgende metode:
public void update(Graphics g) {
paint(g);
}
--
Martin Mouritzen.
The truth is out there! Does anyone know the URL?
| |
|
|