Tengo mi propia "Healthbar" (no es la interna del GM, es una propia XD) que son 6 cuadritos, y quisiera que al llegar a 0 vuelva a comenzar al principio del nivel
Mis codigos son estos
En el sistema de vida en su "Create" lo tengo así:
global.vital = 6;
En "Draw" lo tengo así
for(vt=0; vt<global.vital; vt+=1)
{
draw_sprite_ext(spr_barradevida,0,view_xview[0]+32+(8*vt),view_yview[0]+29,1,1,90,c_white,1);
}
Ahora las acciones y eventos que tiene mi personaje
En el "Create" de mi personaje tengo esta variable de vida
global.vital=6;
La acción que le asigne a un enemigo en "Collision" es esta. (o sea, al chocar el enemigo conmigo me saca un cuadrito de vida)
if global.vital > 0 {global.vital-=1;}
Por si las dudas dejo el adjunto
espero haber entendido lo que preguntas, porque parece algo muy simple... que tal si pones que si la global.vital llega a cero (o menos de 1 mejor para que no haya errores de algun enemigo que te quite 2 puntos de golpe y pasde de 1 a -1 xD), pues vas y reseteas la room tal cual y poner de nuevo la variable a 6? si no sabes algo de eso con codigo, no te cortes con el drag&drop, que no muerde xD
Agrega un "else"
[gml]
else
{
room_restart()
}
[/gml]
Y te recomiendo que crees un script, asi no tendras que modificarlo en todos los eventos de colision.
8)Muchas gracias, pero me funciono sin el "else". El codigo me quedo así en el sistema de energía en su "Draw"
for(vt=0; vt<global.vital; vt+=1)
{
draw_sprite_ext(sprite17,0,view_xview[0]+32+(8*vt),view_yview[0]+29,1,1,90,c_white,1);
}
Y le agrege este codigo como me habían dicho pero funciono sin "else"
if global.vital=0 (si tengo 0 de energía)
{
room_restart()
}
Ya voy entendiendo un poco mas GML. Antes no entenddía mucho, y ahora masomenos le empiezo a agarrar un poco la mano
Cita de: J.E.A en Junio 04, 2012, 06:12:02 PM
Y le agrege este codigo como me habían dicho pero funciono sin "else"
if global.vital=0 (si tengo 0 de energía)
{
room_restart()
}
Es casi lo mismo, solo que ahi ejecutas dos preguntas, con el "else" lo que haces es preguntar una sola vez, y dependiendo del resultado es la accion.