Mira bro, aki un codigo express, nomas cheka que la pelota rebota hasta que se oculta, esto es por que la posicion de la pelota en X se define desde su eskina superior iskierda, por lo tanto si quieres ver que rebote en el borde, restale el grosor de la pelota en la condicion....
Código Java:
Ver original //variables globales
int posX, posY, incX;
public void init() {
incX = 10;
}
public void start() {
//Creo el hilo
//y lo empiezo
animacion.start();
}
//limpio la pantalla de el dibujo anterior de un modo ortodoxo xD
g.fillRect(0, 0, this.getWidth(), this.getHeight());
//y pinto, pasandole las variables que se modifican cada 500ms
g.fillOval(posX, posY, 70, 70);
}
public void run() {
while(true) {
try {
//la bolita se movera cada 500ms
//hacemos las validaciones
if(posX < 0 || posX >= this.getWidth()) {
//si es menor a 0 o es mayor a lo que mide el ancho de la pantalla significa que debe rebotar
//entonces el incremento será negativo
incX = -incX;
}
//la nueva posicion en X es, la actual más el incremento
posX += incX;
//y repintamos
repaint();
}
}
Obviamente si kieres que la pelota se mueva en Y has lo msimo que con X pero con Y xD