Buenas tneog una barra de vidas con 3 huecos para ponerle las 3 vidas y cuando me den un golpe quitar una de esas vidas o añadir otra si tengo 2 y cojo otra vida. Lo podria hacer si lo convirtiera en objetos pero supongo que sera mejor usar eventos de draw para dibujar esas vidas y asi liberar un poco menos de memoria. Tengo entendido que eso se puede hacer con un bucle for pero no tengo ni idea de como hacerlo, alguien puede echarme una mano¿?
hola amigo
bueno analizando tu pregunta me imagino que tienes una variable en donde guardas las vidas
pues en el eventro draw solo tendria que dibujar las vidas segun las que tengas ejemplo
if vida=1
{draw_sprite(corazon,0,x,y)}
if vida=2
{
draw_sprite(corazon,0,x,y)
draw_sprite(corazon,0,x+10,y)//para que quede al lado de la otra vida
}
if vida=3
{
draw_sprite(corazon,0,x,y)
draw_sprite(corazon,0,x+10,y)//para que quede al lado de la otra vida
draw_sprite(corazon,0,x+20,y)//aqui dibujas la tercera vida
}
ya con esto solo debes preocuparte por subir o disminuir la variable vida depende de lo que pase
tambien puedes hacerlo con un swith en vez de if
espero que te sirva
hasta pronto amigo
oh genial gracias, pero como haria ahora para eliminar las vidas?? se hacerlo con instancias pero nose como hacerlo si estan dibujadas con la funcion de draw_sprite
En el ejemplo de masterkiu las vidas son controladas por la variable vida, o sea que cuando un enemigo te mata le restas 1 a esa variable, vida-=1
"ya con esto solo debes preocuparte por subir o disminuir la variable vida depende de lo que pase"
Yo usaria mejor un switch.
Recuerda que al sumarle +1 a la vida y tener 4 no se mostrara nada mas. Asi que o limitas la vida a 4 renglones o pones algo tipo
if vida > 4 {
vida = 4
}
hola amigo para eliminar las vidas seria lo siguiente
imaginemos que el objeto personaje tiene la variable vida
puedes poner un evento de colision con el objeto mostruo o bala (en caso que sean disparos)
y pones algo como
if vida>0 {vida-=1}
y para agregarlas pones
suponiendo que al chocar contra un corazon te da una vida
punes el evento colision con el corazon
if vida<3 {vida+=1}
esto es una manera bastante sencilla de hacerlo espero que te siva
hasta pronto
Gracias todo perfecto!!!!
yo uso este code funciona perfecto espero que te funcione
[spoiler]{
var i;
for (i = 0; v < global.vidas; i += 1)
{
draw_sprite(spr_lives,image_index,view_xview[0]+32+i*16,view_yview[0]+58)
}
}[/spoiler]
y colocas que cuando te quiten vida global.vidas-=1;