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.

Ajuda com sprites

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
DarlesLSF
Membro
Membro
Reações: 0
Mensagens: 107
Localização: Humaitá - RS

Ajuda com sprites

Mensagem por DarlesLSF » Ter Fev 26, 2019 10:49 pm

Boa noite, estou fazendo o menu do meu jogo e eu estou na parte dos itens. No gráfico que mostra o hp atual / max hp e mana atual / max mp, utilizo esse código para que os valores atuais não ultrapassem seus máximos:

Código: Selecionar todos

/// checando vida e mana
if (global.hp_jogador > global.maxhp)
{
    global.hp_jogador = global.maxhp;
}
if (global.mp_jogador > global.maxmp)
{
    global.mp_jogador = global.maxmp;
}
Porém, cuidem os gráficos da vida e mana como agem quando utilizo um item:
https://www.youtube.com/watch?v=hvYdvKqjdtI&feature=youtu.be
Dá pra ver que os números aumentam e logo em seguida se igualam com seus máximos.
Como faço pra não acontecer essa mudança nos números da vida e mana?

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com sprites

Mensagem por None » Qua Fev 27, 2019 12:10 am

Tem várias formas de fazer isso.
Uma é simplesmente colocando no final do código de aumentar a vida que
player.vida = min(player.vida, player.max_vida).

Isso tem que estar no código de aumentar a vida, assim você garante a limitação no mesmo frame, seu problema está acontecendo porque ele aumenta a vida DEPOIS de já ter criado a limitação, então ele só arruma no próximo frame (seu método de correção funciona tão bem quanto o meu, só sua ordem de código que não está boa)
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
DarlesLSF
Membro
Membro
Reações: 0
Mensagens: 107
Localização: Humaitá - RS

Re: Ajuda com sprites

Mensagem por DarlesLSF » Qua Fev 27, 2019 7:19 am

None escreveu:Tem várias formas de fazer isso.
Uma é simplesmente colocando no final do código de aumentar a vida que
player.vida = min(player.vida, player.max_vida).

Isso tem que estar no código de aumentar a vida, assim você garante a limitação no mesmo frame, seu problema está acontecendo porque ele aumenta a vida DEPOIS de já ter criado a limitação, então ele só arruma no próximo frame (seu método de correção funciona tão bem quanto o meu, só sua ordem de código que não está boa)
No caso, esse é meu código:

Código: Selecionar todos

if (global.item_usado == 1)
        {
            global.hp_jogador += 50;
            global.pocoes -= 1;
        }
Se eu add o que tu falou, ficaria assim?

Código: Selecionar todos

if (global.item_usado == 1)
        {
            global.hp_jogador += 50;
            global.hp_jogador = min(global.hp_jogador, global.maxhp);
            global.pocoes -= 1;
        }

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Ajuda com sprites

Mensagem por None » Qua Fev 27, 2019 9:41 am

Isso mesmo
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes