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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 12/01/2010
Número de Mensagens : 384
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[Resolvido] Quando o inimigo chegar perto ele atira

em Ter 10 Jul 2012, 13:39
Eu queria saber como fazer pra quando o inimigo chegar perto do personagem ele atirar contra o personagem

obs: lembrando que eu programei o inimigo para seguir o personagem


Última edição por Sonic em Sab 14 Jul 2012, 21:26, editado 1 vez(es)
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

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

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Ter 10 Jul 2012, 14:13
É um jogo de PLATAFORMA??? (talvez dê em Top down tbm, eu não tenho certeza)
se for coloca esse código:
Código:
if distance_to_object(obj_player) < 300
  {
  with instance_create(x,y,obj_tiro)
  {dir=other.dir}
  }

Ainda tem como implementar, como colocar um alarm, para ele não ficar atirando sem parar, se vc quiser eu explico. Mas o básico é isso
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 12/01/2010
Número de Mensagens : 384
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Ter 10 Jul 2012, 14:29
@andreh escreveu:É um jogo de PLATAFORMA??? (talvez dê em Top down tbm, eu não tenho certeza)
se for coloca esse código:
Código:
if distance_to_object(obj_player) < 300
  {
  with instance_create(x,y,obj_tiro)
  {dir=other.dir}
  }

Ainda tem como implementar, como colocar um alarm, para ele não ficar atirando sem parar, se vc quiser eu explico. Mas o básico é isso

seria muita ajuda se vc me explica-se pra ele n ficar atirando sem parar

obs: é um jogo de nave
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 09/03/2011
Número de Mensagens : 183
Insígnias de JAM :

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

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Ter 10 Jul 2012, 14:38
Ok, então vamos implementar esse código:

no CREATE do inimigo coloque:
Código:
atirar = true

no ALARM 0 do inimigo coloque:
Código:
atirar = true

E agora, naquele código q eu te passei, troque por este:

Código:
if atirar = true and distance_to_object(obj_player) < 300
  {atirar = false
  alarm[0] = 30
  {
  with instance_create(x,y,obj_tiro)
  {dir=other.dir}
  }
  }

Aí está, espero ter ajudado!!!
avatar
Ranking : Nota D
Notas recebidas : D + D
Data de inscrição : 06/04/2012
Número de Mensagens : 682
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Ter 10 Jul 2012, 15:16
no create do inimigo coloca:

Código:
pode_atirar=true //pode atirar no player ou nâo pode

no inimigo cria o evento e alarm e coloca o code:

Código:
pode_atirar=true //ele vai poder atirar dinovo

no step do inimigo coloca:

Código:
if instance_exists(obj_player){//se o obj existir
direction=point_direction(x,y,obj_player.x,obj_player.y)//eu vou mirar nele
}
if distance_to_object(obj_player)<200 and pode_atirar=true// se o canhao estiver a 200 pixels de distancia eu posso atirar nele
{// ele começa a atirar
a=instance_create(x,y,obj_bala)//cria a bala e vai armazena a indentidade dela na variavel "a"
a.direction=point_direction(x,y,obj_player.x,obj_player.y)//usa essa variavel "a" para bala seguir a direção do player, para não ir para frente.
a.speed=4//velocidade da bala
pode_atirar=false // ele não vai poder mais atirar
alarm[0]=1*room_speed //ele vai atirar dps de 1 segundo
}

e pronto espero te ajudado. Laughing


Última edição por willcraft2 em Ter 10 Jul 2012, 16:10, editado 1 vez(es)
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Ter 10 Jul 2012, 15:30
Se é um jogo de nave, entaum pra ser uma IA realmente inteligente ele vai atirar so quando o jogador estiver em sua frente certo ?
Entaum vc pode usar collision_rectangle .
Tipo :
if collision_rectangle(...)
{
//ação de atirar
}
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 16
Insígnias de JAM :

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

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Ter 10 Jul 2012, 16:39
Eu acho que mais fácil do que colision rectangle seria algo do tipo:

Código:
if obj_nave.y = obj_jogador.y {
//aqui todos os códigos pra atirar
}

Assim a gente testa se eles estão alinhados com o eixo Y, mas dependendo de como é o jogo precisaria ser o X.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Qua 11 Jul 2012, 01:38
Se for assim, o obj_jogador deverá ficar exatamente alinhado com o inimigo, isso seria ruim pois ele naum iria atacar a naum ser que fosse exatamente igual ( acho que a mascara naum é um ponto só, ou éh o_O ? ).
Enfim se entender os collisions vai se dar bem em IA's .
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 12/01/2010
Número de Mensagens : 384
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Sex 13 Jul 2012, 22:57
@willcraft2 escreveu:no create do inimigo coloca:

Código:
pode_atirar=true //pode atirar no player ou nâo pode

no inimigo cria o evento e alarm e coloca o code:

Código:
pode_atirar=true //ele vai poder atirar dinovo

no step do inimigo coloca:

Código:
if instance_exists(obj_player){//se o obj existir
direction=point_direction(x,y,obj_player.x,obj_player.y)//eu vou mirar nele
}
if distance_to_object(obj_player)<200 and pode_atirar=true// se o canhao estiver a 200 pixels de distancia eu posso atirar nele
{// ele começa a atirar
a=instance_create(x,y,obj_bala)//cria a bala e vai armazena a indentidade dela na variavel "a"
a.direction=point_direction(x,y,obj_player.x,obj_player.y)//usa essa variavel "a" para bala seguir a direção do player, para não ir para frente.
a.speed=4//velocidade da bala
pode_atirar=false // ele não vai poder mais atirar
alarm[0]=1*room_speed //ele vai atirar dps de 1 segundo
}

e pronto espero te ajudado. Laughing

está dando erro nessa variavel "A"

avatar
Ranking : Nota D
Notas recebidas : D + D
Data de inscrição : 06/04/2012
Número de Mensagens : 682
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Sex 13 Jul 2012, 23:35
engine feita:aqui.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 12/01/2010
Número de Mensagens : 384
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : -4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Sab 14 Jul 2012, 21:25
@willcraft2 escreveu:engine feita:aqui.

vlw ai cara, era só add a variavel Laughing
avatar
Data de inscrição : 22/07/2012
Número de Mensagens : 1
Insígnias de JAM :

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

Re: [Resolvido] Quando o inimigo chegar perto ele atira

em Dom 22 Jul 2012, 12:01
Obrigado pela explicação do funcionamento deste código. Funcionando perfeitamente. cheers
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