Asteroids Spanish
Asteroids Spanish
Asteroids Spanish
Asteroids es un clásico juego arcade. Dispara a los asteroides y evita los escombros.
Sonidos
Hay sonidos que se reproducen cuando el jugador acelera el motor de la nave, dispara
una bala, cuando un asteroide o el jugador es golpeado.
Controles
El jugador controla el juego con las teclas de flecha y el botón CTRL.
Niveles
La cantidad de asteroides en la pantalla al comienzo del nivel aumenta a medida que
avanza el juego.
Gráficos
● ship.gif - gráfico de barco animado
● bullet.gif - gráfico de bala
● roid_big.bmp - gran asteroide
● roid_medium.bmp - asteroide mediano
● roid_small.bmp - pequeño asteroide
sonidos
● rev.wav - suave sonido de aceleración
● boom.wav - sonido para reproducir cuando se golpean cosas
● zap.wav - ruido de disparo
● explosion.wav - big bang cuando el jugador muere
Girando la nave
Abre la ventana del objeto obj_ship. Primero resolveremos la rotación.
Añadir un evento End Step y arrastrar una acción Change Sprite. Complete la
ventana emergente de la siguiente manera.
Al final de cada paso del juego, la nave se dibujará con la subimagen que coincida con
la dirección en la que mira. Hay 360 grados en un círculo, tenemos 72 imágenes, por
cada 5 grados de rotación en el círculo completo.
Ahora agrega un evento Keyboard y elegir Left. Arrastra una acción Move Free icono
y complete la ventana emergente como se muestra,
El evento de teclado para la flecha Right es similar pero con el siguiente cambio de
dirección,
La ventana de objetos de tu nave debería verse como la captura de pantalla,
Guarde y pruebe que la nave se puede girar en ambas direcciones usando las teclas del
cursor.
Manejando el empuje
En el juego clásico, el jugador puede empujar la nave y moverse por la pantalla.
Empujaremos con la tecla flecha Arriba y frenaremos con la tecla flecha Abajo.
Agregue un evento de teclado para la flecha Arriba (Up). Crea un nuevo sonido
llamado snd_rev. Arrastra una acción Play Sound en el evento que creó y reproducirá
este sonido cuando se presione la tecla. También arrastre una acción Set Variable y
complételo como se muestra.
Guarde y pruebe esto. La nave sale de la pantalla muy rápidamente si mantienes
presionada la tecla durante demasiado tiempo. Necesitamos hacer que la nave
reaparezca en la pantalla cuando se salga del borde. Para ello, cree un evento Outside
Room y arrastre la acción Wrap Screen, completándolo como se muestra,
Guarde y pruebe nuevamente. Eso es mejor, pero debemos poder reducir la velocidad.
Agrega un evento Keyboard para la tecla flecha abajo (Down). Sólo podemos reducir
la velocidad si el barco se está moviendo. Necesitamos comprobar esto. Arrastra una
acción Test Expression y complétalo de la siguiente manera,
Arrastra un bloque Start Block seguido por una acción Set Variable, completado
como se muestra.
Terminar con una acción End Block, guardar y probar.
El mecanismo de disparo
En la versión arcade del juego, la nave puede disparar balas. Nuestro primer trabajo es
crear un sprite llamado,spr_bullet usando el gráfico de viñetas de los recursos.
Ve al evento End Step que creó anteriormente y arrastre otra acción Set Variable.
Esta vez establezca el valor de canfire = -1 Relative. Como se muestra abajo.
Esto se utilizará para determinar el momento en el que podemos disparar las balas, de
modo que haya un retraso entre cada bala disparada.
Ahora agrega un evento Keyboard para la tecla CTRL. Arrastra una acción Test
Expression y pruébalo con canfire<0 como se muestra,
Arrastra una acción Start Block seguido de una acción Create instance, completando
el cuadro como se muestra.
Crea un sonido usando el sonido zap y llámalo snd_zap. Arrastra la acción Play Sound
y reproduce el sonido.
A continuación, arrastre una acción Set Variable y establezca el valor de canfire = 15.
Esto te da,
Ahora, agrega un evento Alarm para la Alarm0 y arrastrar una acción Destroy
instance.
Ahora tenemos que lidiar con lo que sucede cuando la bala sale de la pantalla. Añadir
un evento Outside Room y arrastrar una acción Wrap Screen y complétalo como se
muestra,
Guarde su trabajo y pruebe el mecanismo de disparo de balas. Ajuste la velocidad de la
bala (en su evento Create) o el retraso entre balas (en el evento de teclado CTRL)
hasta que esté satisfecho con la forma en que funciona.
Carga uno de los sonidos para que lo reproduzca cuando un asteroide sea impactado
por una bala, llámalo snd_boom.
Ahora arrastre una acción Create instance y complete la ventana como se muestra,
Ahora abre la ventana del objeto obj_bullet. Cuando la bala golpea un asteroide,
debemos destruir la bala y aumentar la puntuación. Voy a aumentar la puntuación en
10 para un asteroide grande, 20 para un asteroide mediano y 30 para uno pequeño.
Agrega un evento collision en la ventana del objeto obj_bullet. La colisión debe ser con
el objeto obj_roid_big. Arrastra una acción Set Score y complétalo como se muestra.
Sigue eso con un Destroy instance.
Haz lo mismo con los otros 2 asteroides con ajustes de puntuación que se adapten a tu
estado de ánimo.
Agrega un evento Create al objeto. Arrastre las acciones Set Score = 0, Set Lives =
3 y finalmente arrastre la acción Score Caption y complétalo como se muestra,
Cuando los asteroides chocan contra la nave
Crea un sonido llamado snd_dead cargar un sonido apropiado.
Volver al objeto obj_ship y agregue 3 eventos de colisión (uno para cada uno de los
tipos de asteroides). En cada evento necesitamos,
● reproducir el sonido
● Reducir el número de vidas en 1.
● Destruye la instancia del barco
Los eventos se verán como en la captura de pantalla.
Ahora, con la nave desapareciendo ante nosotros, debemos asegurarnos de que vuelva
a aparecer en la pantalla si quedan vidas. En el juego clásico, la nave no reaparece en
medio de un asteroide. Esto es un poco complicado, pero ahí va,
Arrastra una acción Test Expression y complete el cuadro de expresión con (x<280
|| x>320) && (y<180 || y>250), debe lucir igual que,
Ahora, arrastra otra acción Test Expression y complete el cuadro de expresión con
(x<280 || x>320) && (y<180 || y>250), esta vez para el objeto obj_roid_small.
Arrastra una acción Create Instance y complete los detalles que se muestran,
Agrega otra acción Start Block y luego arrastre la acción para probar si hay 0
instancias del asteroide pequeño.
El resto de acciones comprueban si hay otros rooms. Si hay un room adelante (nivel 2),
se cargará; de lo contrario, se reiniciará el room actual. Asegúrese de que su evento se
parezca a la captura de pantalla,
Guarda y prueba el juego.
Más niveles
La forma más obvia de ampliar este juego es agregar algunos niveles más después del
primero. Puedes duplicar el primer room para crear un nuevo nivel. Asegúrese de que
sólo el primer nivel tenga el objeto obj_game_controller en él, de lo contrario, las
vidas y la puntuación se establecerán en cada nivel.