Página 1 de 1

Ajuda na engine de folego debaixo d'agua

Enviado: Ter Abr 11, 2017 4:58 pm
por katisuke
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.

Re: Ajuda na engine de folego debaixo d'agua

Enviado: Ter Abr 11, 2017 5:40 pm
por Dust
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...

Re: Ajuda na engine de folego debaixo d'agua

Enviado: Ter Abr 11, 2017 9:25 pm
por Willy
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!