Anuncios

Bienvenidos sean a este post, hasta el post anterior hemos logrado no solo tener enemigos y el jugador sino que todos se mueven ahora viene el momento de hacerse daño.

Anuncios

En este caso debemos ir al objeto del jugador y vamos a agregar el evento Create, como hicimos en el post anterior, una vez creado el evento debemos agregar la accion Set Health en la seccion de Instance Variables dentro de las acciones, lo arrastramos en el panel central y establecemos el valor de Health con 100, el siguiente paso sera crear un evento de colision, para ello deben agregar otro evento, esta vez seleccionan Collisions -> Objects -> obj_EnemVert, una vez creado el evento nuestro siguiente paso sera agregar las acciones y para ello debemos ir al panel de las acciones, van a las acciones de Collisions y agarren la accion If Object at Place para arrastrarla en el panel central quedando de la siguiente forma

Anuncios

En Object debemos asignarle el objeto en Cuestion, obj_EnemVert, en el eje X e Y vamos a usar los ejes X e Y de obj_EnemVert, para ello usaremos las siguientes variables en sus respectivos ejes:

  • X: obj_EnemVert.x
  • Y: obj_EnemVert.y
Anuncios

La ultima opcion que debemos tildar es Return List porque al tener varios objetos del mismo tipo necesitamos tener un control de cual es el objeto que colisiono en cuestion, con esto tenemos armado el condicional. Nuestro siguiente paso sera agregar la accion para el caso verdadero de este condicional, para ello debemos ir a las acciones de Movement, seleccionar Jump To Star» y arrastrarlo al lado derecho de este condicional quedando de la siguiente manera

Anuncios

Esta accion hara que nuestro heroe vuelva al punto de inicio cada vez que haya una colision, esto nos es util para evitar que nuestro personaje muera por quedar atrapado entre una pared y el enemigo, el siguiente paso sera agregar la ultima accion, en este caso iremos a Instance Variables y buscaremos la accion Set Health y la ubicamos debajo de Jump To Start, quedara de la siguiente forma

Anuncios

En esta accion estableceremos a Health con el valor de -25 y tildaremos la opcion de Relative, con esto por cada vez que exista una colision le restara 25 a la salud del heroe, con esto ya tenemos lo basico para que trabaje cuando existe una colision, ahora vamos a hacer lo mismo pero para el enemigo de movimiento horizontal mediante el siguiente video

Anuncios
Nota: En caso de probarlo y que no funcione deben eliminar todos los objetos de enemigos en el Room y volverlos a agregar despues de realizadas las modificaciones.
Anuncios

Con esto ya tenemos nuestra base para un sistema de salud del heroe pero ahora necesitamos que eso se vea reflejado o como se dice en la juerga cotidiana: que se muera.

Anuncios

Para esto debemos volver al evento de colision con el objeto enemigo, para este ejemplo vamos a tomar a obj_EnemVert, en nuestro heroe y despues de que pusimos el Set Health que resta salud le vamos a agregar un condicional de la solapa Instance Variables llamado If Health, en este caso sera un condicional que verifica unicamente el estado de nuestra variable health, la cual es interna del Game Engine, lo arrastramos debajo de la accion antes comentada y quedara de la siguiente manera

Anuncios

En este condicional lo unico que modificaremos es en la opcion Is donde usaremos Less or Equal y en Value dejaremos a 0, con esto le diremos que si health es menor o igual a 0 ejecute la accion que vamos a agregar, y esta la encontramos dentro de las acciones de Game, buscamos y tomamos a Exit Game, la arrastramos al lado derecho de este condicional para que al cumplirse la condicion la ejecute, quedando de la siguiente manera

Anuncios

Con esto ya tenemos la condicion para que nuestro jugador muera, y cuando esto suceda se cierre el juego, si quieren pueden probarlo y ver como funciona, nuestro siguiente paso sera mostrar la barra de salud y para ello deberemos hacer los siguientes pasos.

Anuncios

Nuestro primer paso sera crear un nuevo objeto al cual llamaremos obj_controlSalud pero no le asignaremos ningun Sprite, simplemente lo tendremos vacio, por ahora, una vez creado vamos a agregar un evento, el evento que agregaremos sera Draw -> Draw, una vez creado el evento procedemos a agregar una accion, deben ir a las acciones ubicadas en Drawing, deben seleccionar la llamada Draw Instance Health y arrojarla en el panel central quedando de la siguiente forma

Anuncios

En esta ventana dejaremos Direction como Left, este se encarga de reducir la barra en base a esta, despues tendremos las cuatro coordenadas de nuestra barra:

  • Left, es el punto inicial de ubicacion del eje X
  • Top, es el punto inicial de ubicacion del eje Y
  • Right, es el punto final de ubicacion del eje X y establece el ancho de la barra
  • Bottom, es el punto final de la ubicacion del eje Y y establece el alto de la barra
Anuncios

Esto traten de aprenderlo porque en la creacion de videojuegos y afines se trabaja de forma similar, por ultimo tenemos los colores que representaran a nuestra barra:

  • background, el color de fondo de la barra
  • Outline, el color del borde de la barra
  • Min. Colour, el color de cuando nuestra barra este al minimo
  • Max. Colour, el color de cuando nuestra barra este al maximo
Anuncios

Con esto ya tenemos nuestra barra creada y ubicada pero todavia nos falta un par de detalles, el primero va a ser relacionarlo con nuestro jugador, para ello debemos hacer click en el siguiente boton de la barra de esta accion

Anuncios

Esto nos abrira la siguiente ventana

Anuncios

En esta nueva ventana seleccionen Objects y al objeto obj_Cj, esto hara que nuestra barra este relacionada con el jugador y se actualizara cada vez que recibamos un impacto, vamos a compilarlo y probarlo mediante el siguiente video

Anuncios

Con esto ya tenemos un juego mas completo pero todavia lejos de lo que queremos, aunque ya pueden observar la barra y como se actualiza, tambien como al acabar con nuestra salud se sale del juego.

Anuncios
Nota: Como pueden observar agregue un par de enemigos mas.
Anuncios

En resumen, hoy hemos agregado la posibilidad de recibir daño, hemos visto como hacer para interceptar la colision de nuestro jugador con los enemigos, hemos agregado la posibilidad de disminuir la salud, de terminar nuestro juego cuando nos quedamos sin salud, tambien hemos agregado la posibilidad de mostrar cuanta salud posee nuestro heroe, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Donación

Es para mantenimento del sitio, gracias!

$1.00

Anuncio publicitario