Por Nacho Cabanes
Vamos a ver cómo se puede conseguir...
Por una parte, deberemos crear la clase Enemigo, descendiente de ElemGrafico, que tendrá apenas dos métodos: un constructor (que dará los valores iniciales a X, Y, su velocidad y su imagen) y un método Mover (que aumentará su X en cada pasada, y cambiará el signo del incremento cada vez que llegue a un extremo). Los demás métodos, como DibujarOculta, no es necesario crearlos porque se heredan de ElemGrafico:
public class Enemigo : ElemGrafico { Partida miPartida; // Constructor public Enemigo(Partida p) { miPartida = p; // Para enlazar con el resto de componentes x = 400; // Resto de valores iniciales y = 400; incrX = 4; CargarImagen("imagenes/enemigo.png"); } // Métodos de movimiento public void Mover() { x += incrX; if ((x < 100) || (x > 700)) incrX = (short) (- incrX); } } /* fin de la clase Personaje */
Por su parte, la partida no tendrá muchos cambios: declarar el Enemigo, inicializarlo en el constructor, y dibujarlo y moverlo en los métodos correspondientes, así:
public class Partida { // Componentes del juego private Personaje miPersonaje; private Enemigo miEnemigo; [...] public Partida() { miPersonaje = new Personaje(this); miEnemigo = new Enemigo(this); [...] } void moverElementos() { miEnemigo.Mover(); } void dibujarElementos() { // Borro pantalla Hardware.BorrarPantallaOculta(0,0,0); // Dibujo el personaje y el enemigo miPersonaje.DibujarOculta(); miEnemigo.DibujarOculta(); [...]
Simplemente es cambiar la imagen "personaje.png" por otra que sí pertenezca a este juego, y añadir una imagen para el enemigo, con lo que el resultado podría ser así:
Basta con cambiar la imagen "present.png" por otra:
Si quieres descargar el proyecto, lo tienes en su página en Google Code (ésta es la versión 0.02).
Siguiente entrega...