fazendo inimigos inteligentes?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido fazendo inimigos inteligentes?

Mensagem por Tanker GT em Qua 12 Out 2011, 15:36

Oi galera!Sou novo no fórum e iniciante no game maker e preciso de ajuda com configuração dos inimigos e se alguem conhece a new revival engine me fale assim podera me ajudar mais ainda.
Eu sei que para fazer um inimigo me seguir uso tal código mas como fazer ele me seguir só em linha reta e quando me aproximo dele?
E como fazer um tiro teleguiado que se destrói após uns segundos me seguindo?(fazer tiro teleguiado eu sei)
Agradeço muito a quem poder me ajudar Happy


Última edição por Tanker GT em Qui 13 Out 2011, 22:37, editado 1 vez(es)

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Eudes - Hyo em Qua 12 Out 2011, 15:44

oi Tanker.

1. - para um inimigo seguir quando o player chega perto, eu uso esse código:

Código:
if (distance_to_object(obj_player) < 300)
{movimento = "perseguir";}

if (movimento = "perseguir")
{
   
    move_towards_point(obj_player.x,obj_player.y,2);
}
else{
    speed = 0;
}
Eu deixo esse código no Step do Inimigo.
O "movimento" é uma variável do Inimigo que eu criei.
Vc pode alterar o valor "300" para ajustar a distância que desejar.
Isso ajuda?

2. - para o Tiro teleguiado se destruir depois de alguns segundos, existe esse jeito de fazer:
No Create do objeto Tiro vc coloca no Code:
Código:
alarm[0] = 50;
Cria o Alarm[0], e no Code dele vc pode por:
Código:
instance_destroy();
No código alarm[0] = 50; o valor "50" vc pode alterar para diminuir ou aumentar
o tempo que o tiro irá durar antes de ser destruído.
Esse é um dos jeitos de fazer.
testa e vê se dá certo.


Última edição por Eudes - Hyo em Qua 12 Out 2011, 16:05, editado 3 vez(es)

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Tanker GT em Qua 12 Out 2011, 15:53

O inimigo continua me seguindo tanto na horizontal quanto na vertical eu queria só na horizontal
Mas já ajuda sim

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Knonick em Qua 12 Out 2011, 15:56

Bem, para o tiro se destruir após um tempo, faça isso:

No evento create coloque:
Código:
alarm[0]=30;

Substitua 30 pelo número que você quiser, mas lembre-se que 30 é igual a 1 segundo, então 60 é igual a 2 segundos, 90 é igual a 3 e etc.

No evento Alarm 0 coloque:
Código:
instance_destroy();

Knonick

Número de Mensagens : 92
Idade : 18
Data de inscrição : 10/05/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Eudes - Hyo em Qua 12 Out 2011, 16:01

para ele seguir só na horizontal tenta mudar o trecho do Code do Inimigo para isso:
Código:
if (movimento = "perseguir")
{
   
    move_towards_point(obj_player.x,y,2);
}
essa função move_towards_point() recebe 3 parâmetros:
a posição X do destino, a posição Y, e a Velocidade.
na posição X vc deixa obj_player.x aí ele vai seguir a posição horizontal do Player.
Na posição Y vc deixa apenas y, ao invés de por obj_player.y, aí ele continuará na posição vertical que ele já estiver.
E no valor 2 é a velocidade de movimento dele, aí vc pode mudar
para a velocidade ki vc kiser.
Acredito ki seja isso mesmo, dá uma olhada.

Eudes - Hyo

Ranking : Nota B
Número de Mensagens : 513
Idade : 32
Data de inscrição : 02/06/2009
Notas recebidas : E + B+B
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Tanker GT em Qua 12 Out 2011, 16:13

MUITISSIMO OBRIGADO GALERA!
eu tive que fundir o meu código com o seu ficou assim:
if (distance_to_object(objPlayer) < 100)
hspeed*=0.77;
vspeed*=0.77;
move_towards_point(objPlayer.x,y,2);
Eu nem sabia que o alarm se usava assim Razz
Knonick acho que já nos conhecemos sou o Espio GT

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Knonick em Qua 12 Out 2011, 19:19

É, já nos conhecemos mesmo. Mas houve algum problema com o código do tiro? Se está tudo certo peça pra trancar o tópico.

Knonick

Número de Mensagens : 92
Idade : 18
Data de inscrição : 10/05/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Tanker GT em Qui 13 Out 2011, 21:40

Os dois códigos deu certo
valeu pessoal.
Mas apareceu mais uma dúvida.
tipo agora o personagem me segue mas como fazer com que quando ele ir para direita mudar os sprite para outro considerando que ele está progamado para me seguir.

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Knonick em Qui 13 Out 2011, 21:54

Código:
if hspeed<0
{
sprite_index=SPRITE_PARA_ESQUERDA
}
if hspeed>0
{
sprite_index=SPRITE_PARA_DIREITA
}

Deu certo?

Knonick

Número de Mensagens : 92
Idade : 18
Data de inscrição : 10/05/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Denbs em Qui 13 Out 2011, 22:03

você tbm poderia fazer assim:


Código:
if direction=0
{
sprite_index=sprite direita
}
if direction=180
{
sprite_index=sprite esquerda
}
Da certo tbm, testei

direction 0 é o mesmo q direita e direction 180,esquerda(90 cima,270 baixo)..a cada 90 graus uma direção diferente, começando pela direita..

flw

Denbs

Número de Mensagens : 204
Idade : 19
Data de inscrição : 19/01/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Tanker GT em Qui 13 Out 2011, 22:05

Deu certo sim valew pessoal!
Tenho que pedir para trancar o tópico por mp?

Tanker GT

Ranking : Nota C
Número de Mensagens : 106
Idade : 20
Data de inscrição : 08/10/2011
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Knonick em Qui 13 Out 2011, 22:24

Edita o tópico e coloca [Resolvido] na frente.

Knonick

Número de Mensagens : 92
Idade : 18
Data de inscrição : 10/05/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: fazendo inimigos inteligentes?

Mensagem por Conteúdo patrocinado Hoje à(s) 17:18


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum