Asteroids: configuración y posicionamiento de la nave

Una vez diseñada la nave con sus ocho “frames”, ya podemos configurar el sprite y pintarlo en pantalla.

Por claridad, todo el código relativo a la nave o el jugador vamos a ubicarlo en un fichero independiente llamado “Jugador.asm”. Haremos lo mismo con los asteroides, los disparos, etc.

Pues bien, como ya hemos dicho, todos los elementos del juego deben tener:

  • Una inicialización.
  • Y una actualización.

En el caso de la nave o jugador, la inicialización consistirá precisamente en la configuración y posicionamiento inicial del sprite, y la actualización consistirá en el movimiento (y más adelante los disparos y las colisiones).

Así pues, igual que antes inicializábamos la pantalla, ahora inicializamos el jugador. La llamada a la inicialización del jugador está justo después de inicializar la pantalla:

Asteroids - Pantalla de juego - Llamada

Y la inicialización consiste en:

Todo esto puede verse aquí:

Asteroids - Inicialización nave

Todo lo hacemos con las rutinas de la librería “LibSprites”. Aprovecho para adelantar que algunas rutinas de esta librería, igual que ya ocurrió con la rutina “configuraColores” de “LibChars” (que no admitía el color del borde), adolecían de algunas limitaciones.

Por ejemplo, la posición X de los sprites sólo podía oscilar entre 0 y 255 (un byte), y sólo era posible activar la expansión horizontal/vertical, pero no era posible desactivarla una vez activa. Por todo ello, ha sido necesario mejorar la librería. Pero lo iremos viendo sobre la marcha.

Bueno, pues con este código ya tenemos la pantalla en negro (esto lo conseguimos en una entrada anterior) y el sprite en pantalla:

Asteroids - Inicialización nave 2

Lo siguiente será el movimiento.


Código del proyecto: Asteroids01

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s