hola a todos otra vez yo molestando   :-[
quiero saber como se hace una barra de salud (ya tengo los sprites) cada vez que el enemigo me golpee tiene que bajar la barra de salud
por ejemplo la idea es que si el personaje esta en nivel 1 haga 10 de daño y si esta en nivel 2 haga 8 de daño.
ya e intentado de todas maneras y no e podido si me pudieran ayudar y explicar detalladamente se los agredeceria enormemente  XD

#1 Marzo 25, 2015, 10:16:29 PM Ultima modificación: Marzo 25, 2015, 10:34:37 PM por elviskelley
Me parece que el problema no es la barra de salud si no el sistema de ataques y def.
El código para una barra personalizada es este.
draw_healthbar(x,y,x2,y2,variable,c_blue,c_red,c_green,0,0,1)

para un sistema de ataques def y daño como los RPG se crean muchas variables, ejemplo.
//variables para el jugador.
global.exp=0; //esto sumara la experiencia obtenida durante el juego.
global.expmeta=10; //esto inicia una meta de experiencia para subir de nivel.
global.nivel=1; //nivel inicial del jugador.
global.def=1; //es la defensa inicial del jugador.
global.atk=2; //es el poder inicial de ataque del jugador.
global.energia=100; //barra de vida inicial del jugador.
global.maxenergia=100; //maximo de vida del jugador.

Nota: esas global var van en un object al inicio del juego.
ahora en el object del jugador.
event End step.
if (global.exp > global.expmeta) then
{
global.expmeta *= 1.4 ; //sube la meta a alcanzar para subir de nivel.
global.nivel +=1; //sube de nivel.
global.def = 1; //sube un punto de defensa
global.atk = 1; //sube un punto de ataque.
global.maxenergia *=1.2; //sube el maximo de energia que puede aguantar.
}
//esto es lo que sucedera al subir de nivel.


//para recuperar energia lentamente.
if (global.energia < global.maxenergia) then {global.energia +=0.1;}


Ahora en el event de collision o en la condicion de collision contra armas enemigas.
var r;
r=(other.atk - global.def);
//Al ataque recibido le resta su capacidad de defenderse.
if (r > 0) then
{
global.energia -=r;
}
//si el ataque supero su defensa entonces le resta el valor restante a su vitalidad.

Nota: es logico que cada enemigo le declaras las variable atk y le asignas un valor de ataque segun su fortaleza de ataque. Tambien declaras al enemigo la variables, vital y def. para su vitalidad y capacidad de defenza.
y la formula es casi la misma pero inversa para restar vida al enemigo segun tu fuerza de ataque.
Atentamente.-
Elvis Kelley
Mi Manual.
Mi canal de Youtube Youtube click aqui
Video tutoriales Game maker

muchas gracias lo que hiciste fue de gran ayuda pero otra duda que tengo es que se vea la barra de salud y segun el daño que hagan se vaya volviendo mas pequeña

En el codigo de la barra en los ultimos 3 numeros colocas 0, es decir yo coloque; "0,0,1" tu colocas; "0,0,0)" eso es para que no tenga fondo y se encoja la barra a medida que quede sin vida.
Atentamente.-
Elvis Kelley
Mi Manual.
Mi canal de Youtube Youtube click aqui
Video tutoriales Game maker

Recuerda que el Game Maker dispone de su propio sistema de dibujar una barra de salud, aunque puede que te interese crear tu propia barra. Si no así, no te hará falta crear tus propios sprites de barra de salud.