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 na engine de folego debaixo d'agua

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
katisuke
Novato
Novato
Reações: 0
Mensagens: 13

Ajuda na engine de folego debaixo d'agua

Mensagem por katisuke » Ter Abr 11, 2017 4:58 pm

To fazendo um jogo, e nele tem o objeto de água, eu queria que alguém me desse uma mãozinha e me mandasse 
alguns exemplos de engine para o folego do player em baixo d'água.

Tipo, no momento em que ele entra no objeto água, ele começa a perder pontos de oxigênio devagar, e na hora q
ele sai, o oxigênio espera volta a subir, em um ritmo um pouco mais lento de quando ele sobe.

Eu pretendo fazer uma barra de oxigênio essa engine. Mas essa parte eu sei fazer, o problema é mexer com esse 
time de entrar e sair da água que eu ainda não peguei o jeito.

Avatar do usuário
Dust
Membro
Membro
Reações: 0
Mensagens: 109
Localização: Santa Catarina

Re: Ajuda na engine de folego debaixo d'agua

Mensagem por Dust » Ter Abr 11, 2017 5:40 pm

Bem, é só você ver se a distancia do jogador para o objeto agua for menor ou igual a 1, depois você pode verificar se o y dele for maior que o y do objeto agua, agora é só alterar o valor da variavel, e se ele nao estiver dentro da agua a variavel volta ao valor original. Ficaria mais ou menos assim:

Código: Selecionar todos

if distance_to_object(obj_agua)<=1 && y>obj_agua.y {folego-=0.2} else {folego+=1}
Não testei mas creio que vai funcionar...

Avatar do usuário
Willy
Novato
Novato
Reações: 0
Mensagens: 18

Re: Ajuda na engine de folego debaixo d'agua

Mensagem por Willy » Ter Abr 11, 2017 9:25 pm

Você precisa de uma variável que servirá pra detectar se seu personagem está dentro ou fora da água. Algo assim no step resolve essa primeira etapa:

Código: Selecionar todos

estaNaAgua = place_meeting(x,y,obj_agua); //detecta colisão com um obj_agua.
 Este código ira alternar entre true (está na agua) e false (não está na água).

Com essa informação, você pode fazer o restante do sistema:

Código: Selecionar todos

if (estaNaAgua){
  folego-=2;
}else{
  folego+=1;
}
Claro, você também precisará definir um valor máximo para a variável "folego" (experimente usar clamp!), além de outros detalhes que você perceberá, mas isso fica ao seus cuidados, já que o código acima serve exclusivamente como exemplo.

Bons estudos! Flw!

Responder

Quem está online

Usuários navegando neste fórum: Google [Bot] e 6 visitantes