Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/08/2012, 17:23
Avatar de zero0097
zero0097
 
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años, 9 meses
Puntos: 69
Respuesta: Hilos en Applet

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
  1. public class Prueba extends JApplet implements Runnable {
  2.     //variables globales
  3.     int posX, posY, incX;
  4.    
  5.     public void init() {
  6.         incX = 10;
  7.     }
  8.    
  9.     public void start() {
  10.         //Creo el hilo
  11.         Thread animacion = new Thread(this);
  12.         //y lo empiezo
  13.         animacion.start();
  14.     }
  15.    
  16.     public void paint(Graphics g) {
  17.         //limpio la pantalla de el dibujo anterior de un modo ortodoxo xD
  18.         g.fillRect(0,  0, this.getWidth(), this.getHeight());
  19.        
  20.         //y pinto, pasandole las variables que se modifican cada 500ms
  21.         g.setColor(Color.RED);
  22.         g.fillOval(posX, posY, 70, 70);
  23.     }
  24.    
  25.     public void run() {
  26.         while(true) {
  27.             try {
  28.                 //la bolita se movera cada 500ms
  29.                 Thread.sleep(500);
  30.                
  31.                 //hacemos las validaciones
  32.                 if(posX < 0 || posX >= this.getWidth()) {
  33.                     //si es menor a 0 o es mayor a lo que mide el ancho de la pantalla significa que debe rebotar
  34.                     //entonces el incremento será negativo
  35.                     incX = -incX;
  36.                 }
  37.                
  38.                 //la nueva posicion en X es, la actual más el incremento
  39.                 posX += incX;
  40.                 //y repintamos
  41.                 repaint();
  42.             } catch(Exception ex) {}
  43.         }
  44.     }

Obviamente si kieres que la pelota se mueva en Y has lo msimo que con X pero con Y xD
__________________
De nada, hay te encargo +1...