Anuncios Google

03. Crear una barra de salud.

Tutoriales Avanzados Homebrewes

Mostrar una barra de salud es algo muy comun en la mayori­a de juegos. Puede ser algo confuso para los nuevos programadores, quienes no saben como afrontarlo, pero es un proceso muy sencillo una vez se vean la manera de hacerlo. Empecemos.

Primero crearemos dos objetos color. Usaremos el color rojo para la barra de salud y el blanco para escribir texto en pantalla.

--Creamos los Colores.
rojo = Color.new(255,0,0)
blanco = Color.new(255,255,255)

Ahora crearemos arrays para almacenar informacion de la barra de salud y del personaje. Se podri­a hacer con variables pero usaremos arrays ya que en un juego real sera mas sencillo añadir mas tipos de datos tanto para el personaje como para la barra de salud. Crearemos el array para la barra de salud y usaremos un tipo para referirnos a la posicion de la barra.

--Array de la barra.
barraSalud = {}
barraSalud.y = 10

Ahora crearemos el array para el personaje. En nuestro juego de ejemplo solamente necesitaremos almacenar en el array la salud del personaje.

--Array del personaje.
personaje = {}
personaje.salud = 100

Ahora empezaremos nuestro bucle principal, limpiaremos la pantalla y pondremos el codigo de entrada de botones:

--Bucle principal
while true do
   screen:clear()
   pad = Controls.read()

Ya hemos empezado nuestro bucle principal, que es la parte de nuestro programa que se repetira una y otra vez comprobando las modificaciones en el juego.

Nuestro siguiente comando dibujara la barra de salud en pantalla. Usaremos el comando drawRect. Este comando simplemente dibuja un rectangulo relleno:

screen:fillRect(10,10,personaje.salud,barraSalud.y,rojo)

Este comando también puede usarse para dibujar un rectangulo sobre una imagen. Los dos 10 son la posicion "x" e "y" en la que dibujaremos el rectangulo. Los dos siguiente argumentos son los arrays que hemos creado anteriormente. personaje.salud será la anchura del rectangulo, asi­ si la salud de nuestro personaje incrementa o decrementa, queda reflejado en la barra. barraSalud.y sera la altura del rectangulo, la cual hemos puesto a 10 anteriormente. Este valor nunca cambiara. Puedes cambiar la variable "y" por la "x" si quieres una barra de salud vertical.

Lo siguiente sera mostrar la salud de los personajes en pantalla justo debajo de la barra de salud, asi­ podras ver la salud tanto en texto como en grafico.

screen:print(10,30,personaje.salud,blanco)

Ahora, para este juego de ejemplo, vamos a incrementar la salud si el boton Arriba es pulsado y mantenido y vamos a decrementar si el boton Abajo es pulsado y mantenido. Este es el codigo para el boton Arriba:

if pad:up() and personaje.salud < 100 then
     personaje.salud = personaje.salud + 0.5
  end

Este codigo incrementara la salud del personaje en 0.5 si el boton Arriba es presionado y si la salud del personaje es inferior a 100, ya que nuestra salud como maximo sera de 100.

Ahora el codigo para el boton Abajo:

if pad:down() and personaje.salud > 0 then
     personaje.salud = personaje.salud - 0.5
  end

Este codigo es el mismo que para el boton Arriba excepto que la salud decrementara en 0.5 si se pulsa el boton Abajo, siempre y cuando que nuestra salud sea inferior a 0. Sin la comprobacion del 0, nuestra salud entrari­a en numeros negativos.

Terminemos el bucle principal y el tutorial:

screen.flip()
  screen.waitVblankStart()
end

4.444445
Tu voto: Ninguno Votos totales: 4.4 (27 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ALoGeNo

JUala....parece facil no?

Nas.. me podeis decir que lenguaje de programacion es ese? eso es C?, yo esque programaba en basic con el spectrum.. y nunca me anime con c ni java ni na.. pq no menteraba.. eso que es? podeis dar alguna referencia?, no he buscado nada.. eh.. asique.. si me veis comodo.. me lo decis. ;D asias.

Imagen de ELeNDeR

Este lenguaje de

Este lenguaje de programación es LUA, sencillo para los programadores noveles. Si quieres una referencia, qué mejor que la que ofrecemos en esta misma web:

http://beta.pesepe.com/index.php?q=node/789

Saludos. 

gracias, hay que ver como

gracias, hay que ver como estas de trabajador

Imagen de ELeNDeR

Se hace lo que se puede

Se hace lo se que puede, aprovecho cuando tengo un ratillo para traducir. Ya tengo pendiente uno nuevo de la otra sección de Lua, seguramente para el viernes que viene ya lo tenga traducido, probado y publicado. Lo único que espero es que la gente le saque provecho. Saludos.

Muchas gracias por el

Muchas gracias por el tutorial! Este me va a venir muy bbioen para mi juego... ^^

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.