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.




lunes, 5 de septiembre de 2016

Curso Basico con Stencyl V - puntos y salud de nuestro actor.

Stencyl para principiantes VII

Anteriormente aprendimos a crear grupos , los grupos nos ayudan a ordenar en categorias a nuestros personajes, en un juego deben haber varios grupos , por ahora contamos con los 2 grupos que serian actors y enemies .

los grupos nos permiten usar a muchos enemigos a la vez en una escena y todas tener el mismo atributo, esto nos permite trabajar de forma rápida y nos evitamos la molestia de asignarle 1 a 1 el mismo atributo.

en esta parte del tutorial vamos a importar los hongos de nuestra carpeta de objetos, estos hongos serán actores  y estarán  en nuestra escena y al cogerlo nos permitirá aumentar puntos a nuestro "SCORE".

primero debemos crear  nuestro actor, al que llamaremos "bonus", importamos los 2 hongos de nuestra carpeta y le modificamos la colisión, para tener finalmente nuestro elemento ya listo.


y por ultimo en propiedades creamos un nuevo grupo llamado bonus , cuyas propiedades deben ser las siguientes :
colisionar con: Tiles, Actors y guardamos.
luego el grupo que viene por defecto lo reemplazamos por el que creamos.




Ahora  debemos añadir un comportamiento a nuestra escena para poder tener  un contador de puntos.

el comportamiento se llama Score manager



luego hacemos click en la propiedad Events de nuestra escena y  agregamos un evento.

tenemos 3 tipos de eventos basicos.
when creating =  son los eventos que se crean cuando se ejecuta el juego
ejemplo : cuando iniciamos con 5(completas) vidas y 0 puntos.
when drawing = son los eventos que se dibujan cuando se ejecuta el juego
ejemplo: cuando se muestra en pantalla los puntos, las numeros que serian los puntos.
when updating = son los eventos que se actualizan conforme el juego se va ejecutando .
ejemplo cuando guardamos una partida.



en la paleta elegimos custom.




y creamos un evento básico "when create" y le arrastramos el atributo "set current score to" y le ponemos de valor 0 , esto quiere decir que cuando ejecutamos el juego nuestro puntaje será 0 al iniciar.


y luego creamos un evento de tipo actors - member of group , y le seleccionamos de grupo, "enemies " y le decimos "when  " "enemies" is "killed "
- añadimos el atributo "increase score by " 100.
lo cual significa que cuando el grupo enemigos muere, aumenta nuestro score a + 100.

hacemos lo mismo para el grupo "bonus" lo cual quedaría de la siguiente manera, lo cual nos permitirá aumentar nuestro score + 1000 cuando cojamos los hongos de la scena.


Recuerden que nuestros personajes del grupo "enemies" mueren cuando les pisan la cabeza y aun no hemos definido como se destruyen nuestros hongos, para eso debemos dirigirnos en el actor "bonus" y en sus eventos añadir el siguiente comportamiento :


ahora solo nos queda añadir los hongos a la escena y a ejecutar, y si todo lo hemos hecho a la perfeccion tendremos algo como esto :



Ahora para añadirle salud a nuestro personaje, le agregamos el siguiente behavior llamado "health manager" a nuestro actor "ORCO".
le hacemos una configuraciones. 
esta barra consiste en que al iniciar tienes 5 vidas y el maximo de vida es 5.
cuando tienes 4 de vida tendrias un 75% y la barra cambia a color  verde.
cuando tienes 3 de vida tendrias un 50 % y la barra cambia a color amarillo
cuando tienes 2 de vida tendrias un 25% y la barra cambia a color mostaza.
cuando tienes 1 de vida tendrias debajo del 25 % y la barra te mostrará en rojo.
cuando tienes 0 vidas morirás.
(los colores los puedes cambiar tu mismo)



por motivos de no hacer muy largo el tutorial para probar la salud si funciona, nos dirigimos a nuestra escena principal y en el menu "events"   seleccionamos en la paleta "custom"  y buscamos el atributo "damage actor by 0" ... 
y le añadimos a nuestro personaje llamado "bonus" que seria el hongo, a la vez que nos aumenta 1000 puntos nos va a bajar 1 vida.
no olvides elegir el actor cuando insertes los bloques y añadirle el numero 1.
esto significa que a la vez que nos incrementa 1000 puntos nos quita una vida cada vez que cojamos 1 hongo "bonus".



por ultimo agregamos 6 hongos "bonus" a la escena y ejecutamos y probamos que efectivamente los hongos nos quitan vida.
nota: si quieren tener la barra de vida así :
deben aumentarle el ancho de su barra de vida a 10. 



no te pierdas el siguiente tutorial 

Curso Basico con Stencyl IV - movimientos de enemigos y destruir enemigos.

Stencyl para principantes VI


Anteriormente vimos como asignarle movimientos a nuestro orco, correr, saltar y que no salga de la escena, en esta parte vamos  a aprender a destruir al enemigo al saltar encima de el y a morir si somos tocados por el.

creando grupos  - "Actors y enemies"

nos dirigimos a nuestro actor "ORCO" y en propiedades podemos ver que pertenece al grupo de "Actors" por  defecto, ahora crearemos un nuevo grupo , haciendo click en Edit Groups. 



Elegimos Create new y le ponemos de nombre "enemies" y le damos en Create.


ahora, vamos a seleccionar el grupo que creamos, y le marcamos para que colisione con los tiles y los actors, esto ara que nuestro nuevo grupo tenga colisión con nuestros actores y las plataformas que están en nuestra escena 


ahora, debemos Dirigirnos a nuestro enemigo  al que yo llamé ROJO en sus propiedades


y vamos a cambiarle de grupo  que por defecto tiene actors, le reemplazamos por "enemies", el grupo que creamos anteriormente.


ahora, ya hemos creado un grupo para los enemigos, esto es muy importante por que nuestros actores a diferencia de los enemigos tienen distintos comportamientos y funciones y deben ir agrupados para cada una de los atributos que le vamos a asignar.

Asignándole movimiento al enemigo

Nos dirigimos a Stencyl Forget y nos descargamos este comportamiento, llamado Enemy Walk Left to Right.


Y nos dirigimos en nuestro enemigo llamado "Rojo" y le añadimos el comportamiento que descargamos.
le asignamos las animaciones siguentes :
en Walk R =  "rightrun"
en Walk L = "rightleft"

en walkspeedleft le ponemos 10 al igual que en walkspeedright 10 .

ahora , debemos insertar nuestros enemigos en nuestra escena arrastrando como anteriormente hicimos con el actor. 
nota : 
     - tuve que hacerle unos cambios a la escena, añadirle colisión a algunos objetos como la madera ,        para que los enemigos colisionen y vuelvan de una esquina a otra.
    - el enemigo rojo ya tiene las colisiones de animación modificadas por mi.



ya en esta parte, tenemos a nuestros personajes definidos, actor, enemigo . lo siguiente es hacer que el personaje pueda destruir a los enemigos al pisar encima de ellos, para lograr nuestro objetivo debemos insertar el siguiente comportamiento  a los actores:

Stompable , y Stomp on enemies.

para ellos nos dirigimos a Stencyl Forge y descargamos los dos comportamientos.


Stomp on enemies
El comportamiento Stomp on enemies debe ser asignado al actor "ORCO" y lo configuramos de la siguiente forma.
en Atributes donde nos marca Stompable Group buscamos el grupo "enemies" que creamos más arriba.
en jump key elegimos "up" por que vamos a saltar encima de los enemigos hasta aplastarlos.



comportamiento  Stompable

El comportamiento  Stompable debe ser asignado a nuestro enemigo al que yo llamé "rojo" , para ello debemos crear una animación que se mostrará cuando nuestro enemigo  sea pisado cuando nuestro Orco salte sobre él.
como verán en la imagen, yo le asigné una animación para que se muestre cuando el enemigo muera.
nota:
   *push player force  por defecto es 35 , quiere decir que cuando apliquemos una fuerza de salto de 35 mínima, el enemigo morirá. por eso deben configurar el jump force a 35(el comportamiento de salto que le añadimos a nuestro orco anteriormente)


Ahora si ejecutamos el juego, tendremos la posibilidad de matar enemigos saltando sobre ellos.





espero que les halla gustado hasta esta parte, los espero en la siguiente parte donde aprenderemos un poco más

Curso Basico con Stencyl III - colisión de actores y movimientos

Stencyl para principiantes V

anteriormente pudimos crear las animaciones de nuestro actor principal, al que denominamos "Orco", y logramos crear 4 animaciones diferentes que se mostrarán cuando le asignemos un comportamiento a nuestro personaje.

  1. "soptleft" es cuando el personaje detenido mira a la izquierda.
  2. "stopright"es cuando el personaje detenido mira a la derecha
  3. "runright" es cuando el personaje corre hacia la derecha
  4. "runleft" es cuando el personaje corre hacia la izquierda

ahora debemos cambiar el tamaño de colisión del objeto es muy importante esto, por defecto la
colision del personaje es un cuadrado que bordea todo el personaje, y si queremos darle movimiento , colisionará con el margen al que se le ha asignado.

por eso debemos modificar tal y como yo le asigno en esta imagen.

nos dirigimos al menú collision, y le modificamos  la posiciones X,Y  y el ancho y alto de la colisión.

a las animaciones "runleft"y  "runright" le modificamos así :
x= 20
y= 17
width=50
height=70

a las animaciones "stopleft" y "stopright" le modificamos así:
x= 20
y= 17
width=50
height=70
y cerramos.
(en la captura puse 10 en Y , fue un error mio, pónganle 17)



luego de modificar la colisión, nos volvemos a nuestra escena y ponemos a nuestro personaje (si aun no lo tenemos en la escena) y damos un Test Game. 

el resultado es que nuestro personaje ya no tendrá ese defecto de estar elevado.

asignándole movimiento a nuestro actor.

Stencyl nos da la facilidad de asignarle comportamientos a nuestros actores con eventos ya pre programados, a un solo click,  o también podemos hacerlo de forma programada.

nos dirigimos al menú de nuestro actor, y elegimos Behaviors.


Luego seleccionamos + Add Behavior y elegimos  Controls y le asignamos el comportamiento Way Horizontal Moviment.

Este comportamiento permite que nuestro personaje se mueva libremente de izquierda a derecha.

Ahora procedemos a configuar los controles y las animaciones.

1.configurando los controles

por defecto nos mostrará no control y le ponemos  el control que corresponde, esto significa que si usamos las flechas de dirección de nuestro teclado nuestro personaje podrá moverse. también podemos asignarle los controles que queramos, como ponerle , A para izquierda, y D para derecha.

2. configurando la velocidad.
la velocidad es importante, nosotros lo dejaremos en 30 que seria la velocidad normal, si le ponen otro numero esto variará .


Y finalmente le asignamos las animaciones segun corresponda, y lo hacemos de la siguiente forma.

en left Animation (Idle) = "stopleft"
left Animation = "runleft" 
Right Animation (Idle) = "stopright"
Right Animation ="runright"


Y por ultimo, nos dirigimos a nuestra Escena que creamos y nos dirigimos en Physics lo que vendria ser la física, y modificamos  Gravity Vertical, poniendo el numero 85, lo que simularía la gravedad de nuestro mundo, si le dejamos en 0, nuestro personaje se elevaría.

Y finalmente podremos dar un Test Game y nuestro personaje podrá moverse, y se darán cuenta que
al salirse de la escena este se pierde, no se asusten!.




Para que nuestro personaje no se pierda en la escena tenemos que dirigirnos A NUESTRO ACTOR "ORCO"luego  a Behaviors , + add behavior  y nos vamos a Motion  y finalmente elegimos  el comportamiento  Cannont Exit Scene.


y Damos Test game y nuestro Actor "ORCO" no podrá salir de la escena.

Asignándole Salto a nuestro personaje.

Stencyl tiene a una comunidad que comparte sus Recursos, sean juegos echos, comportamientos, actores, comportamiento de escenas, sonidos, y más , lo cual nos permitirá tomar alguno de esos recursos y usarlo a nuestro beneficio para nuestros juegos, o darle un vistazo a los codigos que se usaron en el.

para ello, vamos a buscar un Comportamiento llamado  Jumping.

nos dirigimos al menú StencylForge, y tal vez le pidan iniciar secion, para ello debemos registrarnos en stencyl, es gratis.
luego nos dirigimos a Behaviors, buscamos "jump" y elegimos el comportamiento para luego descargarlo.


y tendremos ya el comportamiento en nuestro juego, ahora solo debemos añadirlo a nuestro personaje,  Dirigiéndonos al menú Behaviors , + add behavior y elegimos Jumping, el comportamiento que descargamos .


Por ultimo le añadimos el control UP y le ponemos las animaciones, y probamos, y nuestro personaje saltará inmediatamente.



quitarle la rotacion al actor 
Deben también Inhabilitar la rotación del personaje, se dirigen a  physics, y en can rotate?
marcan el radio button "NO"


les espero en la siguiente parte!
Parte IV enlace :  http://stencylforyou.blogspot.pe/2016/09/stencylbasicotutorial6.html
ver la parte anterior : http://stencylforyou.blogspot.pe/2016/09/stencylbasicotutorial4.html