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.

Como fazer o inimigo mover-se(ser empurrado) para trás ao ser atingido? Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Higor Melo
Membro
Membro
Reações: 0
Mensagens: 42
Localização: SP

Como fazer o inimigo mover-se(ser empurrado) para trás ao ser atingido?

Mensagem por Higor Melo » Sex Set 16, 2016 6:26 pm

Galera, como faço o inimigo ser empurrado para trás ao ser atingido?

Avatar do usuário
Superbomber
Programador
Programador
Reações: 0
Mensagens: 283
Localização: Natal-RN

Re: Como fazer o inimigo mover-se(ser empurrado) para trás ao ser atingido?  Tópico resolvido

Mensagem por Superbomber » Sex Set 16, 2016 7:48 pm

Já que ninguém respondei vou fazer isso. :u:

Código: Selecionar todos

// Ao ser atingido
var dir, xx, yy;
dir = point_direction(player.x, player.y, x, y);
repeat(5){
  xx = x + lengthdir_x(1, dir);
  yy = y + lengthdir_y(1, dir);
  if(place_free(xx, yy)){
    x = xx;
    y = yy;
  }
}
O 5 no repeat substitua pelo valor que desejar que o inimigo se mova.
No caso ta verificando se não tem nenhum objeto sólido antes de se mover, pra evitar entrar dentro de uma parede, por exemplo.
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script

Avatar do usuário
Higor Melo
Membro
Membro
Reações: 0
Mensagens: 42
Localização: SP

Re: Como fazer o inimigo mover-se(ser empurrado) para trás ao ser atingido?

Mensagem por Higor Melo » Sex Set 16, 2016 7:55 pm

Superbomber escreveu:Já que ninguém respondei vou fazer isso. :u:

Código: Selecionar todos

// Ao ser atingido
var dir, xx, yy;
dir = point_direction(player.x, player.y, x, y);
repeat(5){
  xx = x + lengthdir_x(1, dir);
  yy = y + lengthdir_y(1, dir);
  if(place_free(xx, yy)){
    x = xx;
    y = yy;
  }
}
O 5 no repeat substitua pelo valor que desejar que o inimigo se mova.
No caso ta verificando se não tem nenhum objeto sólido antes de se mover, pra evitar entrar dentro de uma parede, por exemplo.
Valeu amigo!

Trancado

Quem está online

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