Conectar-se
Quem está conectado
15 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 15 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 24/01/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Como eu faço uma AI de tiros em 2D?

em Sab 27 Fev 2010, 19:15
Poxa, como eu faço pra tipo, o inimigo anda um certo tempo, para e começa a atirar, eu fiz uma coisa q deu certo porem era apenas 1 disparo e_e'
e como tbm faço pra dar " Head Shots " pra matar o inimigo com 1 só mas com varios inimigos, pois eu fiz assim: criei um objeto chamado " Head " e colokei pra ele ir onde for o obj_inimigo e quando colidir com a bala vai deletar o inimigo e ele junto, mas eu testei com 3 obj_inimigo na room e so ficou 1 " Head " e quando eu disparava nele matava TODOS os obj_inimigo q estavam na room
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Como eu faço uma AI de tiros em 2D?

em Sab 27 Fev 2010, 20:16
Voce pode analizar a distancia entre ele e você e a partir dai tomar alguma decisão de atirar ou nao. Mais se for fazer assim é bom criar uma variavel para temporizar o tiro senao vai sair uma fita de tiros.
Quando a sua segunda pergunta, voce tem que vincular o objeto 'Head' a uma instancia e não a todos os obejtos de tal classe (como voce fez). Voce pode fazer assim:
No Evento Create do do Objeto que tera o Head:
Código:

head = instance_create(x, y, objHead);
head.vinculo = id; //aqui eu armazeno o objeto no proprio objeto head
Agora no evento de Colisão do Head com o Tiro:
Código:

with (vinculo) instance_destroy();//aqui destruimos o objeto vinculado
instance_destroy();//aqui destruimos o head
Outro jeito de Fazer

Na verdade voce nem precisaria de outro objeto. Bastaria voce colocar um calculo no evento de colisão do tiro e verificar se a distancia dele no ponto onde voce quer está a um certo raio. Por exemplo:
No Evento de colisao do Tiro
Código:

//verificamos se foi na cabeça
var xx, yy;
with (other)
{
  xx = x;
  yy = y;

if (point_distance(xx, yy, x, y) < 10)
{
    //Acerrtou na cabeça
} else
{
  //Nao acertou na cabeça
}
Obs. Supondo que o ponto centro do objeto esteja nessa cabeça. Se estiver em outro ponto tem que dar uma arrumada no calculo da distancia em relacao ao tal ponto.


Última edição por vinians em Sab 27 Fev 2010, 23:50, editado 1 vez(es)
avatar
Data de inscrição : 24/01/2010
Número de Mensagens : 153
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Como eu faço uma AI de tiros em 2D?

em Sab 27 Fev 2010, 23:01
e como faço isso sem usar CODEs? ainda não sei mecher nisso mas pretendo aprender logo... vlw meu amigo! XD
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum