Añadir behaviors (comportamientos)
Los behaviors (comportamientos) son funcionalidades prediseñadas en Construct. Vamos a ver cuales podemos usar. Ente otros, Construct 2 tiene estos comportamientos:
- 8 direction (Movimiento en 8 direcciones). Permite mover un objeto alrededor con las flechas de desplazamiento. Viene muy bien para el movimiento del jugador.
- Bullet (Movimiento de bala). Simplemente mueve un objeto hacia delante. Funciona bien para los proyectiles de los jugadores. A pesar de su nombre, también funciona bien para mover a los monstruos - ya que el movimiento es mover objetos hacia delante siempre con la misma velocidad.
- Scroll to (Desplazar a). Hace que la pantalla siga a un objeto que se mueva. Es útil para ponersela al personaje principal y que la pantalla lo siga.
- Bound to layout (Limitar al layout). Para obligar a un objeto a que se quede dentro del área del layout. También es útil para el personaje principal, así no puede salir fuera del área de juego!
- Destroy outside layout (Destruir al salir del layout). En vez de parar el objeto que deja el área de juego, este comportamiento lo destruye. Es útil para las balas. O sino seguirían volando fuera de la pantalla para siempre, consumiendo recursos de procesador y memoria. Así que es mejor destruir las balas cuando se van del layout.
- Fade (Desvanecer). Hace que un objeto se desvanezca gradualmente, es muy útil para las explosiones.
Vamos a añadir estos comportamientos a los objetos que los necesiten.
Como añadir un behavior
Vamos a añadir el movimiento de 8 direcciones al personaje. Clic en el personaje principal (player) para seleccionarlo. En la barra de Properties fíjate en la categoría Behaviors (Comportamientos). Clic en Behaviors al lado de Add / Edit (Añadir / Editar) para abrir el cuadro de diálogo Behaviors.
Clic en el icono con forma de + en la ventana de Behaviors.
Luego doble clic en 8 direction (movimiento en 8 direcciones) para añadirlo.
Haz lo mismo pero esta vez con el comportamiento Scroll to (Desplazar a), para hacer que la pantalla siga al personaje principal y también con Bound to layout (Limitar al diseño) para mantenerlo dentro del layout.
La lista de condiciones es bastante larga, para encontrar rápidamente la que buscas, puedes escribir en el cuadro de búsqueda de arriba a la derecha.
El cuadro de Behaviors de player debería verse así:
Cierra el cuadro de diálogo. Clic en Ejecutar para probar el juego!
Una vez que arranque el juego, fíjate que ya te puedes mover con las flechas y la pantalla sigue al jugador! Tampoco puedes salir del área de juego gracias al comportamiento Bound to layout. Los comportamientos son buenos para añadir las funcionalidades más habituales. Pronto usaremos el sistema de eventos para añadir funcionalidades más especializadas.
Añadir el resto de comportamientos
Podemos añadir comportamientos al resto de objetos de la misma forma - seleccionándolos, clic en Behaviors al lado de Add / Edit y luego el ícono "+" en el cuadro de diálogo. Vamos a usar los siguientes:
- Añade los behaviors Bullet (movimiento de bala) y Destroy outside layout (Destruir al salir del layout) al objeto bullet.
- Añade el behavior Bullet (movimiento de bala) al objeto monster (porque también se mueve hacia adelante).
- Añadir el behavior Fade (Desvanecer) al objeto explode (de esta forma desaparece gradualmente después de aparecer). Por defecto el comportamiento Fade también destruye el objeto una vez que desaparece, lo que nos permite despreocuparnos de que se acumulen objetos explode invisibles y que el juego se ponga lento.
Si pruebas el juego (con el botón Run Layout), notarás que la única cosa diferente es que cualquier monstruo que veas sale disparado muy rápido y de repente. (Si no lo ves, mueve el monstruo cerca del personaje principal). Vamos a reducir la velocidad a un ritmo más lento. Selecciona el objeto monster. Observa que desde que añadimos el comportamiento, algunas propiedades extras aparecen en la barra de propiedades:
Esto nos permite ajustar la funcionalidad del comportamiento. Cambia la velocidad (Speed) de 400 a 80 (la medida es en pixeles por segundo).
De igual forma cambia la velocidad del objeto bullet a 600, y en el objeto explode cambia Fade out time (tiempo que dura el desvanecimiento) a un tiempo de 0.5 (medio segundo).
Recuerda que Construct está en inglés, por lo que si quieres poner un número decimal tienes que poner 0.5 en vez de 0,5 (allá se ocupa coma en vez de punto para los decimales).
Creando algunos monstruos más
Manteniendo pulsada la tecla control, haz clic y arrastra el objeto monster. Observa que esto crea otras instancias, cada una de ellas representa otro objeto del tipo Monster.
Los tipos de objeto son esencialmente "clases" de objetos. En el sistema de eventos trabajas con tipos de objetos. Por ejemplo, puedes crear un evento que diga "Bala colisiona con Monstruo" que significaría "Cualquier instancia del tipo objeto Bala colisiona con cualquier instancia de tipo objeto Monstruo". El trabajar con tipos de objetos te evita el tener que crear eventos para cada uno de los monstruos.
También los Sprites de todas las instancias de un mismo tipo de objeto comparten la misma imagen. Esto es bueno para la eficiencia - cuando los jugadores juegan online, en vez de descargar 8 imágenes de monstruos para 8 monstruos, sólo tienen que descargar una y Construct 2 la repite 8 veces.
Usando control + arrastrar, crea 7 ú 8 monstruos. No los sitúes demasiado cerca del jugador por que sino lo matarán al empezar! Puedes alejar la vista con control + rueda del ratón y luego distribuir los monstruos por todo el layout. Deberías de ver algo así.
Ahora ya podemos añadir funcionalidades personalizadas a través del método de programación visual de Construct 2 - el sistema de eventos.