Witajcie,
kod przedstawia ruch kilku obiektów. Ruch ma się odbywać od środka szerokości okna pionowo w górę. Jeśli obiekty te osiągnął połowę wysokości okna apletu, ruch ma się odbyć pionowo w dół. Problem polega na tym, że moje obiekty dostają "drgawek." Widać, że się poruszają ale coś blokuje ruch. Obiekty przesuwają się może o kilka px i tak w kółko ale to zasługa repaint().
Proszę o pomoc w zwróceniu uwagi, gdzie zrobiłam błąd i jak go rozwiązać.
Dziękuję z góry za wszelkie sugestie
public class Kula extends JApplet {
int x = 200;
int y = 100;
int w = 130;
int dx, dy = 1;
int dt = 20;
public void init() {
setBackground(Color.green);
}
public void paint(Graphics g) {
x = getWidth() / 2;
y = getHeight() - w;
y += dy;
if (y >= getHeight()/2 || y <= 0) {
dy = -dy;
}
try {
Thread.sleep(dt);
} catch (InterruptedException e) {
}
repaint();
g.clearRect(0, 0, getWidth(), getHeight());
g.setColor(Color.white);
g.fillOval(x, y, 30, 30);
g.setColor(Color.BLACK);
g.fillOval(x + 9, y + 9, 3, 3);
g.fillOval(x + 21, y + 9, 3, 3);
g.fillRect(x + 6, y - 7, 20, 7);
g.drawLine(x, y, x + 30, y);
g.drawLine(x + 10, y + 20, x + 20, y + 20);
g.setColor(Color.white);
g.fillOval(x - 7, y + 29, 40, 40);
g.fillOval(x - 17, y + 68, 60, 60);