Planetalia - Cursos

Cursos y Másters

Inicio    Profesores    Aulas    Testimonios    Cursos    Masters    Tecnologías    Cursos Gratuitos    Galería de Proyectos    Solicitar Información   

Curso - Programación de un Space Invaders en Java

  Página Anterior - Bucle principal Página Actual - 08 - Limpiando la basura   Página Siguiente - Controlando el caos
  Índice de cursos Java gratuitos  

Limpiando la basura

(c) Alexander Hristov

El paso anterior nos dejó con una saturación de bichos que había que solucionar. Para ello, vamos a probar inicialmente una estrategia consistente en borrar a mano toda la ventana antes de pintar el bicho correspondiente. El único cambio consiste en las siguientes líneas dentro de paint()


           . . .  
76      
77 public void paint(Graphics g) { 78 g.setColor(getBackground());
79 g.fillRect(0,0,getWidth(),getHeight()); 80 g.drawImage(getSprite("bicho.gif"), posX, posY,this); . . .

Si ejecutamos ahora el programa, veremos que el bicho cambia de posición tan rápidamente que apenas da tiempo a verlo. Está claro que hay que insertar artificialmente una pausa en el bucle del programa, para que el usuario tenga tiempo de ver algo en pantalla:

  1. Actualizar el "estado del mundo" o el "escenario">
  2. Si es preciso, refrescar la pantalla
  3. Esperar un intervalo de tiempo
  4. Volver al punto 1

El intervalo de tiempo - como no podría ser de otra manera - será una constante que definiremos a nivel global e inicialmente fijaremos en 50 ms :


           . . .  
24    
25    public class Invaders extends Canvas {
26      public static final int WIDTH = 640;
27      public static final int HEIGHT = 480;
28      public static final int SPEED = 10;
29      
           . . .  
87      
88      public void game() {
89        while (isVisible()) {
90          updateWorld();
91          paint(getGraphics());
92 try { 93 Thread.sleep(SPEED); 94 } catch (InterruptedException e) {}
95 } 96 } . . .


¿Quieres ser notificado cuando salan nuevos tutoriales y cursos?. Pulsa aquí


Lista de archivos Java del programa en este paso

Invaders.java      

Lista de recursos

bicho.gif bicho0.gif bicho1.gif bicho2.gif
bombD.gif bombDL.gif bombDR.gif bombL.gif
bombR.gif bombU.gif bombUL.gif bombUR.gif
disparo.gif disparo0.gif disparo1.gif disparo2.gif
explosion.wav misil.gif missile.wav musica.wav
nave.gif oceano.gif photon.wav test.gif
Thumbs.db      

  Página Anterior - Bucle principal Página Actual - 08 - Limpiando la basura   Página Siguiente - Controlando el caos
  Índice de cursos Java gratuitos  

(c) 2004 Planetalia S.L. Todos los derechos reservados. Prohibida su reproducción