Duvida com IA

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

Duvida com IA

Mensagem por afonso_silva em Seg 21 Jun 2010, 03:22

Como se faz para que de 5 em 5 segundos, um inimigo dispare um tiro para onde está virado?

afonso_silva

Número de Mensagens : 147
Idade : 20
Data de inscrição : 29/05/2010
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

Re: Duvida com IA

Mensagem por Igor KinGamer em Seg 21 Jun 2010, 15:21

Top view ou plataforma?

Se for plataforma:
Digamos que o inimigo tenha uma variável chamada "direita", com o valor true se está virado para a direita e false se está virado para a esquerda. Deve existir um objeto que será o tiro.
Para fazer atirar de 5 em 5 segundos, você pode usar alarmes.
Coloque no evento Create:
alarm[0] = 5*room_speed;
// room_speed é a quantidade de steps por segundo, consequentemente, o valor dessa variável equivale a 1 segundo.

E no evento Alarm 0:
tiro = instance_create(x, y, obj_Tiro); // Cria o tiro
tiro.speed = 5; // Velocidade do tiro
if (direita == true) // Se está virado para a direita
tiro.direction = 0; // Direção do tiro é a direita
else // Se está virado para a esquerda
tiro.direction = 180; // Direção do tiro é a esquerda
alarm[0] = 5*room_speed; // Reativa o alarm, mais 5 segundos.

Se você quiser que o tiro saia mais embaixo, é só adicionar algum valor ao y no "instance_create(x, y, obj_Tiro)". Ex.: instance_create(x, y+7, obj_Tiro).

Se for top view, é a mesma coisa, só trocando, no Alarm 0:
if (direita == true) // Se está virado para a direita
tiro.direction = 0; // Direção do tiro é a direita
else // Para a esquerda
tiro.direction = 180; // Esquerda

Por:
tiro.direction = direction;

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

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