- Ranking :
Notas recebidas : C
Data de inscrição : 08/10/2011
Número de Mensagens : 106
Insígnias de JAM :x 0
x 0
x 0
Reputação : 11
Prêmios: 1
: 0
: 0
fazendo inimigos inteligentes?
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
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

- Ranking :
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Número de Mensagens : 513
Insígnias de JAM :x 0
x 0
x 0
Reputação : 27
Prêmios: 0
: 0
: 0
Re: fazendo inimigos inteligentes?
em Qua 12 Out 2011, 15:44
oi Tanker.
1. - para um inimigo seguir quando o player chega perto, eu uso esse código:
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:
o tempo que o tiro irá durar antes de ser destruído.
Esse é um dos jeitos de fazer.
testa e vê se dá certo.
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;
}
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;
- Código:
instance_destroy();
o tempo que o tiro irá durar antes de ser destruído.
Esse é um dos jeitos de fazer.
testa e vê se dá certo.
- Ranking :
Notas recebidas : C
Data de inscrição : 08/10/2011
Número de Mensagens : 106
Insígnias de JAM :x 0
x 0
x 0
Reputação : 11
Prêmios: 1
: 0
: 0
Re: fazendo inimigos inteligentes?
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
Mas já ajuda sim
Re: fazendo inimigos inteligentes?
em Qua 12 Out 2011, 15:56
Bem, para o tiro se destruir após um tempo, faça isso:
No evento create coloque:
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:
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();
- Ranking :
Notas recebidas : E + B+B
Data de inscrição : 02/06/2009
Número de Mensagens : 513
Insígnias de JAM :x 0
x 0
x 0
Reputação : 27
Prêmios: 0
: 0
: 0
Re: fazendo inimigos inteligentes?
em Qua 12 Out 2011, 16:01
para ele seguir só na horizontal tenta mudar o trecho do Code do Inimigo para isso:
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.
- Código:
if (movimento = "perseguir")
{
move_towards_point(obj_player.x,y,2);
}
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.
- Ranking :
Notas recebidas : C
Data de inscrição : 08/10/2011
Número de Mensagens : 106
Insígnias de JAM :x 0
x 0
x 0
Reputação : 11
Prêmios: 1
: 0
: 0
Re: fazendo inimigos inteligentes?
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
Knonick acho que já nos conhecemos sou o Espio GT
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

Knonick acho que já nos conhecemos sou o Espio GT
Re: fazendo inimigos inteligentes?
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.
- Ranking :
Notas recebidas : C
Data de inscrição : 08/10/2011
Número de Mensagens : 106
Insígnias de JAM :x 0
x 0
x 0
Reputação : 11
Prêmios: 1
: 0
: 0
Re: fazendo inimigos inteligentes?
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.
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.
Re: fazendo inimigos inteligentes?
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?
- Data de inscrição : 19/01/2011
Número de Mensagens : 204
Insígnias de JAM :x 0
x 0
x 0
Reputação : 0
Prêmios: 0
: 0
: 0
Re: fazendo inimigos inteligentes?
em Qui 13 Out 2011, 22:03
você tbm poderia fazer assim:
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..

- Código:
if direction=0
{
sprite_index=sprite direita
}
if direction=180
{
sprite_index=sprite esquerda
}
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..

- Ranking :
Notas recebidas : C
Data de inscrição : 08/10/2011
Número de Mensagens : 106
Insígnias de JAM :x 0
x 0
x 0
Reputação : 11
Prêmios: 1
: 0
: 0
Re: fazendo inimigos inteligentes?
em Qui 13 Out 2011, 22:05
Deu certo sim valew pessoal!
Tenho que pedir para trancar o tópico por mp?
Tenho que pedir para trancar o tópico por mp?
Re: fazendo inimigos inteligentes?
em Qui 13 Out 2011, 22:24
Edita o tópico e coloca [Resolvido] na frente.
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum