Código: Selecionar todos
///CODIGO USADO \/
draw_sprite(spr_hud,1,x+10, y+16)
draw_sprite_ext(spr_hud_hp,0,88,23,obj_player_stats.hp/5,1,0,c_white,1)
Depois do +5
Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Código: Selecionar todos
///CODIGO USADO \/
draw_sprite(spr_hud,1,x+10, y+16)
draw_sprite_ext(spr_hud_hp,0,88,23,obj_player_stats.hp/5,1,0,c_white,1)
Código: Selecionar todos
max_hp = 5;
hp = max_hp;
Código: Selecionar todos
if (hp > max_hp)
hp = max_hp;
Código: Selecionar todos
hp += valor(5 or exemplo);
Código: Selecionar todos
max_hp += valor(5 or exemplo);
Código: Selecionar todos
draw_sprite(spr_hud,1,x+10, y+16);
var onepixel ,w ,size;
w = sprite_get_width(spr_hud_hp);
onepixel = 1/w;
size = (obj_player_stats.hp/obj_player_stats.max_hp)*10;
draw_sprite_ext(spr_hud_hp,0,88,23,onepixel*size,1,0,c_white,1)
Obrigado pela ajuda, irei testar e botar a mente para rodar, assim que der resultado dou um up aqui no tópico.Thiago Silva Thiago escreveu:Recomendo criar um limitador de vida no jogador.
Para isso, coloque isso no creat do jogadorVocê pode fazer que sempre que a vida ultrapassar o limite, volte ao normalCódigo: Selecionar todos
max_hp = 5; hp = max_hp;
Use isso no stepAssim, a vida nunca ultrapassara o valor da vida máxima.Código: Selecionar todos
if (hp > max_hp) hp = max_hp;
E quando você for recuperar a vida do personagem, useQuando você quiser aumentar o limite de vida do personagem é só aumentar a var hp_maxCódigo: Selecionar todos
hp += valor(5 or exemplo);
Ai o problema básico esta resolvido...Código: Selecionar todos
max_hp += valor(5 or exemplo);
Mas o problema é que sempre que você for aumentar o limite de vida dele, a hud pode ter problema.
Ai com base no valor da maxima vida e a vida, você usa sistema de porcentagem, ficaria mais ou menos assim o draw da hudSe você fizer tudo que te falei e raciocinar um pouco, você tera solucionado esses problemas.Código: Selecionar todos
draw_sprite(spr_hud,1,x+10, y+16); var onepixel ,w ,size; w = sprite_get_width(spr_hud_hp); onepixel = 1/w; size = (obj_player_stats.hp/obj_player_stats.max_hp)*10; draw_sprite_ext(spr_hud_hp,0,88,23,onepixel*size,1,0,c_white,1)
Código: Selecionar todos
draw_sprite(spr_hud,1,x+10, y+16);
var onepixel ,w ,size;
w = sprite_get_width(spr_hud_hp);
onepixel = 1/w;
size = (obj_player_stats.hp/obj_player_stats.max_hp)*10;
draw_sprite_ext(spr_hud_hp,0,88,23,onepixel*size,1,0,c_white,1)
Código: Selecionar todos
draw_sprite(spr_hud,1,x+10, y+16);
var onepixel ,w ,size;
w = sprite_get_width(spr_hud_hp);
onepixel = 1/w;
size = (obj_player_stats.hp/obj_player_stats.max_hp)*w;
draw_sprite_ext(spr_hud_hp,0,88,23,onepixel*size,1,0,c_white,1)
Valeu thiago deu certinho, quero você testando meu jogo emThiago Silva Thiago escreveu:É verdade... Tem um erro.
Troque issoPor issoCódigo: Selecionar todos
draw_sprite(spr_hud,1,x+10, y+16); var onepixel ,w ,size; w = sprite_get_width(spr_hud_hp); onepixel = 1/w; size = (obj_player_stats.hp/obj_player_stats.max_hp)*10; draw_sprite_ext(spr_hud_hp,0,88,23,onepixel*size,1,0,c_white,1)
Código: Selecionar todos
draw_sprite(spr_hud,1,x+10, y+16); var onepixel ,w ,size; w = sprite_get_width(spr_hud_hp); onepixel = 1/w; size = (obj_player_stats.hp/obj_player_stats.max_hp)*w; draw_sprite_ext(spr_hud_hp,0,88,23,onepixel*size,1,0,c_white,1)
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante