martes, 6 de septiembre de 2016

Curso Basico con Stencyl V - escenario y regiones y camara

                          Stencyl para principiantes VIII

En en el anterior  tutorial aprendimos a poner el "Score Manager " a nuestro juego , esta característica esta presente en mucho de los juegos , los score se obtienen al recolectar objetos y al eliminar enemigos ,  y también vimos como añadirle un "Heal bar " a nuestro personaje que nos permite tener un limite de vidas en el juego y la perdemos al agarrar un objeto o al ser golpeados por un enemigo, todo de pende del tipo de juego que estamos creando.


con stencyl podemos crear muchos tipos de juegos, ahora en esta parte vamos a aprender a tener una escena más grande donde podamos crear un juego casi terminado , al estilo del popular juego mario bros y aprenderemos a cambiar de escenas.


Primero, quiero que creen 2 nuevos objetos, a los que llamaremos


  • danger : un hongo que al tocar te quite  1 vida
  • heal : un hongo que al tocar  te aumente  1 vida


y creamos 2 grupos para cada personaje que creamos por que ambos tienen diferentes funciones, los grupos que yo cree son : "heals","dangerous".  y solo deben colisionar con los Actors y los Tiles.


Ahora, le asignamos a cada objeto que creamos su grupo, y le editamos los eventos de nuestra escena principal creando "dos eventos de tipo  Actors".


  • y le programamos  : when "dangerous" is killed  -- the actor     - damage orco by 1

esto significa que cuando nuestro Orco es golpeado por los miembros del grupo dangerous recibe daño por lo que  perderá una vida.

  nota. Esto lo vimos en el anterior tutorial de Heal Bar"


y luego hacemos click en el actor  llamado danger (el hongo que creamos) , y nos dirigimos a events

y le agregamos un evento de colision llamado "type  member of group" .

le programamos así:
when self hits a member of actors  1st actor of group
kill selft.
esto significa cuando nuestro personaje danger sea golpeado por un actor en este caso el orco, desaparecerá de la escena o morirá.



Ahora que ya programamos a nuestro  hongo "danger" para que nos quite una vida y desaparesca, debemos agregarle los comportamientos a nuestro hongo "heal" que esta en el grupo heals.

volvemos a nuestra escena principal y agregamos un nuevo evento de tipo  "actors" y  elegimos "member of group" y le asignamos la siguiente programacion:

esto significa que cuando muera los "miembros del grupo heals"  se destruyan ganaremos 1 vida.

y luego nos vamos a nuestro hongo llamado "heal" y le añadimos la siguiente programacion a su evento como lo hicimos con nuestro hongo "danger".


ahora solo debemos agregar nuestros nuevos objetos a la escena y jugar, si todo les ha funcionado perfecto tendran la posibilidad de perder vida y ganarla recogiendo diferentes objetos.

si no les ha funcionado verifiquen si sus objetos tienen los grupos definidos .

1 como se puede ver tenemos 3 diferentes tipos de hongos.



en la segunda captura al comer los dos hongos primeros que pertenecen al "grupo danger" se pierden 2 vidas :

en la ultima captura al recoger los dos hongos con brillo amarillo que tienen el nombre "heal" y estan en el grupo heals, se recuperan las 2 vidas perdidas.



creando las regiones

Una region es un area invisible que se crea en nuestra escena y que nos puede servir como un portal, puerta, o boton para saltar a otra escena o para que el personaje desaparezca.

para ello primero necesitamos una puerta.
y la podemos descargar de internet, o lo podemos buscar en stencyl forget(busquen tipo actor y la palabra door) y yo así lo hice.

creamos un actor llamado puerta y que esta no pueda moverse, le quitamos los atributos de la física.

y lo añadimos en la escena y debe quedar de la siguiente forma :




y procederemos a crear la region usando las herramienta "add region box" descritas en la imagen .
.


ahora nos dirigimos a la escena  principal y en sus eventos creamos el siguiente evento de tipo  Actors, y que pertenece a la categoria enters o leave regions - member of group.

y le programamos de la siguiente forma :
when actos enters region 0
swhitch animation to "abripuerta" for enter door"

*recuerden que la puerta que descargamos de stencyl forget tiene animaciones de cuando la puerta se abre.


deben poner el nombre de la animación correctamente ,buscar la region que crearon 
y la animación de la puerta que van a utilizar



por esta razón nuestra puerta, cuando nuestro actor el "ORCO" este dentro de ella, la puerta se abrirá, por que cambiará de animación.


Estoy seguro que deben estar imaginándose la cantidad de cosas que podrían hacer con las regiones.
ahora nos vamos por un momento a salir de nuestra Escena principal, para crear otra a donde ingresará nuestro Personaje al entrar por la puerta.

.
nueva escena 

cuando creamos una nueva escena esta escena nueva no tendrá ningun evento, es decir será nuevo y nos pedirá que le asignemos los eventos y le importemos nuestros recursos.


yo les voy a pedir que dupliquen la escena para que los eventos que teníamos en la anterior escena principal no se pierdan.



y  solo eliminaremos los los objetos como arboles, bloques para crear una nueva plataforma más entretenida.

y dejamos limpia la escena 2. para crear nuevas capas solo dejamos el fondo anterior.

quiero que trabajemos de forma ordenada , capa por capa.

capa "objetos atras" = serán nuestros arboles, arbustos, tronco,nubes, sol, todo recurso que sea ultimo.
capa "objetos delante" = serán las cajas, rocas,  letreros de madera,puertas, hongos.
capa "actores y enemigos" = serán nuestro actor y los enemigos que creamos, el orco, y los "rojos",


Cambiando el tamaño de la escena

Vamos a cambiar el tamaño de la escena, al triple del ancho, como ustedes saben nuestro juego por defecto tiene 640 x 480 de tamaño.

cuando cambiemos el tamaño de escena no afectará el tamaño del juego, son dos cosas distintas , para lograrlo nos dirigimos a "Properties" en nuestra escena  y le modificamos el width  que por defecto tiene 640 , le modificamos a 1920, que seria el triple de 640.



y guardamos y nuestra escena cambiará de tamaño, debido al cambio de tamaño nuestro Background estará muy pequeño, para ello nos dirigimos donde esta nuestro fondo y le modificamos para que se repita en todo el escenario.



ahora nuestra escena si le añadimos los objetos que tenemos nos debe quedar mucho mejor, el mio lo diseñé así :


ahora , en nuestra escena principal (escena 1) vamos a crear un nuevo evento de tipo "Actors" de la categoria enter o leaver region. como lo hicimos anteriormente para la animacion de la puerta, solo que ahora le añadimos el comportamiento switch to scene.
y lo programaremos como muestra la imagen acontinuacion.



luego nos dirigimos a nuestro actor "ORCO" y en behaviors añadimos un "camera Follow"
para que nuestro actor en la escena 2 pueda  caminar por toda la escena sin problemas al ser una escena grande.






Espero que te halla gustado esta parte, nos vemos en un siguiente tutorial.




5 comentarios: