Pasito a pasito vamos añadiendo características al juego, en esta entrada trato sobre el enemigo cómo quitarle vida, y mostrarla, para ello he seguido estos pasos, paciencia que es algo denso:
1. Crear objeto, crear canvas, meter dentro del enemigo el canvas.
2. Crear un FSM en el enemigo.
3. Añadir state, añadir acción Itween Shake Position, y configurar.
4. Configurar el canvas que está dentro del enemigo, seleccionar world space, la cámara habría que meterla, pero yo sin hacerlo me ha funcionado.
5. Alterar el tamaño del canvas en el rect transform, no con las teclas.
6. Dentro del canvas añadir un slider, alterar a gusto, colores, tamaño, alterar el handle etc.
7. Dentro del objeto quitar el componente mesh collider y añadir box collider, activar el trigger, copiar este componente.
8.Crear dentro del objeto un empty object, y pegar el collider, este no tendrá el trigger activado.
9. Crear una nueva FSM al enemigo.
10. El rpimer state lo llamamos listener, le añadimos la transición FINISHED, y la acción, Set Float Value, ahí podemos crear la variable global enemy_health, sino, podemos crearla en variables global tipo float, por último especificar la vida del bicho.
11. Un nuevo state, lo llamamos Update UI, añadimos la transición FINISHED, y la acción Set Property, arrastramos el scripts del enemigo y en property value seleccionamos la variable enemy_health.
12.Añadimos otro nuevo state, lo llamamos waiting_damage, creamos un evento nromal llamado hurts, y lo añadimos como transición de este state, añadimos la acción trigger event, lo configuramos con collider tag, player, send event hurt.
13.Por último, en esta parte creamos un cuarto state, lo llamamos damage_added, seleccionamos la transición FINISHED, le añadimos la acción Float add, seleccionamos la variable enemy_health, y en add lo que queramos quitarle al bicho cada vez que entremos en contacto con el bicho.
Posbile error, que me ha aparecido a mí, es que en mi pj el tag debe tener PLAYER.
Imagen para ver la conección entre los diferentes states:
14. Última definitiva parte, estamos en la copia del box collider, en ese empty object, creamos una FSM.
15. Creamos un state, la llamamos SI_BE y otra state llamada NO_BE, a la primera le añadimos la transición FINICHED, y a la segunda TRIGGER EXIT.
16. Las conectamos entre ellas, y le añadimos las siguientes acciones; a SI_BE; activate object y trigger event.
17. Al segundo Activate object, para desactivar el canvas visible.
Comentarios
Publicar un comentario