Cómo hacer un juego de plataformas

1

Index

Taggé

Contributeurs

Statistiques

155,353 visites, 184,314 vues

Outils

Partager

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 17 Jul, 2017. Last updated 25 Feb, 2019

Agregando mas Animaciones

Agreguemos el resto de las animaciones del player. Primero, agreguemos mas superficies para que el personaje pueda saltar para que podamos ver con mayor facilidad como trabaja la animacion.

Volvamos al Layout View donde puedes ver al player y las celdas de suelo. Click and drag para seleccionar las 3 celdas. Entonces manten Control y Arrastra las celdas para clonarlas. Haz esto algunas veces para que haya mas lugar por donde saltar. Puedes alejar el zoom para que te sea mas facil ver todo el layer.

Para darnos una mejor vista, vamos a hacer que el tamaño de la ventana sea mas grande. Click sobre el nombre del projecto, an la parte superior de la Project Bar para que muestre las propiedades del proyecto. Cambia la propiedad Windows Size a "800x600".

Ahora que tenemos donde saltar, con un mayor tamaño de pantalla podemos ver mayor superficie, vamos ahora a agregar el resto de las animaciones del player.

Recuerda!, estamos usando la accion Set mirrored para invertir automaticamente al player de derecha a izquierda. Entonces, solo debemos importar las animaciones con vista hacia la derecha.

-Doble Click sobre el player en el Layout View** para acceder al editor de animaciones. Hay cuatro animaciones que queremos importar:

1. Idle to run

2. Run

3. Jump from run

4. Jump from stand

Para cada animacion, el proceso para agregar una imagen es el siguiente:

1. Click derecho en la Animation bad (por defecto, flotando a la derecha) y selecciona Add animation.

2. Ingresa el nombre de la animacion. Deberian ser nombres faciles de recordar.

3. Click izquierdo sobre la animacion para ir a ella. Deberia haber un "frame" vacio.

4. Click derecho en la Animation frames bar (por defecto, en la cima, listando los frames de animacion) y selecciona Import sprite strip.

5. Localiza el "strite strip". Nota: en el sprite pack "Jungle" cada frame esta disponible como un archivo PNG por separado. El frame puede ser importado de esta manera, pero por lo general es mas rapido usar la version "sprite strip", por lo que selecciona la imagen con el "complete strip".

6. Chequea que el numero de celdas sea correcto, y luego da click a "OK".

7. Delete el primer frame vacio ya que no necesitamos ninguno mas.

8. En el primer frame, place the origin en los pies del player. Intenta colocarlo para enfrentar la posicion de la animacion Idle. Aplica el origen a todas las animaciones como hicimos en la animacion Idle (click derecho en el "origen" en el dialogo de "image points" y selecciona Apply to the whole animation).

9. Manten Shift y preciona Crop para cortar todos los frames importados, al mismo tiempo, removiendo las areas transparentes innecesarias.

10. En la "Properties Bar", asegurate de que cada animacion tenga las siguientes propiedades:

Speed: 22 para JumpFromStand y para todo lo demas 15

Loop: Yes para Run y para todo lo demas No.

Haz esto para cada animacion, entonces finalmente habra 5 animaciones para el personaje.

Cierra el editor de animaciones. Ahora debemos decirle al player que adopte la animacion apropiada a cada movimiento. Para esto, la plataforma de comportamientos provee animation triggers; los eventos se disparan cuando el player debe cambiar de animacion. Entonces solo debemos usar las acciones set animation del player. Recuerda que los comportamientos (behabiors) de la plataforma (con los "animation triggers" (disparadores de animacion)) estan en el objeto PlayerBox, y entonces querremos setear la animacion del objeto visible Player.

Nota: Tenemos una animacion IdleToRun. Esto significa, que cuando comencemos a movernos la animacion correra de este modo:

Stopped: Idle

Start moving: IdleToRun

Cuando IdleToRun termina: Run

Esto tambien es muy facil de setear con eventos.

Poniendo en marcha el Seteo de las animaciones con eventos

Por suerte, ahora deberia serte mas famial el proceso de crear eventos:

1. Selecciona el objeto (object)

2. Selecciona la condicion o accion.

3. Opcional: Ingresa parametros, si la condicion o accion tiene alguna.

Vuelvete hacia el "Event Sheet View"

Primeramente, hagamos el seteo de la animacion IdleToRun cuando comencemos a movernos, usando los "Platform Behaviors" (comportamientos de la plataforma) On moved desencadenado (trigger) en el objeto PlayerBox:

Cuando la animacion IdleToRun termina, querremos que cambie a la animacion Run. Esto podemos hacerlo usando el desencadenante On animation finished, en el objeto PlayerBox:

Si el player esta corriendo y se detiene, necesitamos que la animacion cambie a Idle. Podemos hacer esto con el desencadenante On stopped, en el objeto PlayerBox:

Ejecuta el juego. El player ahora, deberia ser capaz de cambiar de "corriendo" a "detenido", con la animacion IdleToRun ejecutandose de pormedio. De todos modos, la animacion de saltar no se ejecuta aun.

Ya que tenemos dos animaciones de salto, necesitamos setear una animacion diferente, dependiendo hacia donde corre, o no, el player cuando salta. Esto puede ser hecho con el siguiente evento:

Observa que aqui fueron usados sub-events, aparecen indentados al evento On jump. Los "Sub-events" son chequeados uno por uno, antes de que el evento "parent" (padre) se ejecute. Esto implementa correctamente nuestra logica: Cuando los "Platform Behaviors" de saltar ocurren, si ellos se estan moviendo, setear JumpFromRun, de otro modo, setear JumpFromStand.

Para crear un sub-event, click derecho sobre el evento principal y seleccionar Add -> Add sub-event, o seleccionalo y oprime S.

Para crear el evento en cuestion, necesitaras usar como condicioninvert (aparece como una cruz roja). Invertir las condiciones conlleva lo opuesto a su estado principal. En este caso, la inversion de la condicion "Platform is moving", conllevaria el pasarla a "Platform is NOT moving". Para invertir una condicion, agregala normalmente, luego has click derecho sobre la condicion y selecciona invert. Alternativamente, seleccionala y oprime I.

Hay solo una cosa mas por hacer: El player debe permanecer en la animacion de salto despues de saltar, aun despues de haber tocado superficie solida, asi tambien seteamos para que la animacion vuelva a "Idle" o "Run" cuando aterrizamos. Esto es muy similar a evento previo: en el disparador de animacion On land, si se estan moviendo, setear "Run": de otro modo, setear "Idle".

Una vez que haya establecido todo, ejecute el juego. Felicidades - ahora ha hecho un personaje completamente animado! Observe cómo cambian las diferentes animaciones si saltas estando quieto, o saltas corriendo. Also see how when you land from a jump, you either go back toquieto or Running depending on whether you are moving or not.

Ahora, hora de crear un enemigo!

  • 0 Comments

Want to leave a comment? Login or Register an account!