como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

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

como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por voldemortBR em Qua 24 Fev 2010, 21:19

Eu to com uma duvida cruel eu to fazendo um jogo estilo RPG. Ai eu queria que o inimigo me seguisse quando eu estivesse a uma certa distancia entao eu coloquei esse codigo no step.

Código:

if distance_to_point(obj_personagem.x,obj_personagem.y) <= 50
    {mp_potential_step(obj_personagem.x,obj_personagem.y,5,solid)
    }

O inimigo esta me seguindo direito mais ele nao muda de sprite de acordo com a direção e nem me ataca quando chega perto eu procurei em alguns típicos mais nao achei o que eu queria.
Se alguem poder me ajudar eu agradeço.

OBS: GAME MAKER 8.0 (lite)

voldemortBR

Número de Mensagens : 16
Idade : 22
Data de inscrição : 03/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por fonetico em Qua 24 Fev 2010, 21:24

Cara faz assim, primeiro, centraliza a sprite do inimigo e tenha certeza que ela esteja virada para a direita >>. Adicione essa sprite no inimigo.

Agora vá no step do inimigo e coloque:
Código:
image_angle = direction

Pronto, assim o ângulo da imagem ficará na direção que o inimigo vai, agora caso chegue muito perto ele ataca certo? Então coloca no step do inimigo:

Código:
 if distance_to_object(obj_player) < 5
{ //código de ataque  }

Espero que tenha ajudado!

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por voldemortBR em Qua 24 Fev 2010, 21:35

O codigo que vc me deu aqui informou que so pega na versao pro e a minha e lite.
Sera que vc teria outra dica.
muito obrigado

voldemortBR

Número de Mensagens : 16
Idade : 22
Data de inscrição : 03/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por fonetico em Qua 24 Fev 2010, 22:09

É realmente é pra versão PRO, mas aqui no fórum há uma engine feito pelo nosso membro GSA2134 que tem a mesma forma do image_angle, só que em versão lite, veja a engine e a explicação dele no link abaixo:

http://www.gamemakerbrasil.com/engines-f12/engine-olho-olhando-o-mouse-para-lite-t5932.htm

fonetico

Número de Mensagens : 1830
Idade : 21
Data de inscrição : 05/10/2009
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por voldemortBR em Qui 25 Fev 2010, 05:36

Opa amigo eu vi o tutorial fiz do jeito que ele disse mais nao esta dando certo coloquei esse codigo
Código:

image_index=point_direction(x,y,obj_personagem,obj_personagem)

if distance_to_point(obj_personagem.x,obj_personagem.y) <= 50
    {mp_potential_step(obj_personagem.x,obj_personagem.y,5,solid)
    }
no step do inimigo; ele me segue mais nao vira de acordo para onde vou e quando eu paro ele fica andando em volta do meu personagem.
E eu queria que ele fizesse o movimento estilo zelda do snes que quando o cara passa perto do guarda ele segue o cara e para onde o cara vira ele vira também e quando chega perto ataca o cara.
Obrigaso Question

voldemortBR

Número de Mensagens : 16
Idade : 22
Data de inscrição : 03/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por vinians em Qui 25 Fev 2010, 13:01

Amigo, na verdade voce esta com 2 problemas então. Vamos resolver o primeiro da seguinte maneira:
1-Rotação do Sprite
Primeiro va la em Sprites e clique no char do seu inimigo. Depois clique em Edit Sprite. Depois clique em Animation->Rotation Sequence->Counter ClockWise. Coloque em Number of Frames = 36 e deixe Degrees = 360 mesmo.
Com isso criamos 36 imagens que é um numero suficiente para rotação em jogos deste estilo. Agora vamos ao eventos:
Coloque no Evento STEP:
Código:

image_index = floor(direction / 10);
Isso funciona pois como o inimigo já estara seguindo o seu char o direction dele ja estara apontando pra direção certa. Isso resolve o problema da rotação.
2-AI do Inimigo
O problema da AI pode ser resolvido de diversas maneiras. Vamos a uma mais simples:
Voce tem esse código no seu STEP:
Código:

if distance_to_point(obj_personagem.x,obj_personagem.y) <= 50
    {mp_potential_step(obj_personagem.x,obj_personagem.y,5,solid)
    }
Está correto e vamos apenas fazer uns ajustes.
Supondo que voce queira que ele te SIGA quando estiver com a distancia menor que 50 e que ele te ATAQUE quando a distancia for menor que 10:
Código:

  dist = distance_to_point(obj_personagem.x,obj_personagem.y);
  if (dist<= 50)
  {
      if (dist <= 10)
      {
        //Coloque seu ataque aqui
      } else
      {
          mp_potential_step(obj_personagem.x,obj_personagem.y,5,solid);
      }
  }
É claro que voce deverá adaptar ao seu game, mais a rotina de ataque pode ser uma mudança de sprite. Se for isso ao colidir o inimigo com o seu char, basta verificar se ele esta com o sprite de ataque no evento de colisão e proceder de acordo. Por exemplo:
Evento de Colisão Inimigo x Char
Código:

if (sprite_index == sprite_normal)
{
  //faz alguma coisa quando o inimigo apenas esbarra em voce sem estar atacando. 
} else
{
  //faz alguma coisa se ele estiver te atacando.
}
É isso ai, boa sorte!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por wac2007 em Qui 25 Fev 2010, 13:17

Caramba é a primeira pessoa que eu vejo que coloca a pergunta como título Shocked

@Vinians

Esse 36 imagens é para 8 ou 4 direções ?

wac2007

Número de Mensagens : 521
Idade : 23
Data de inscrição : 07/11/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   : 1

http://wac2007.blogspot.com/

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por vinians em Qui 25 Fev 2010, 13:24

wac2007 escreveu:Caramba é a primeira pessoa que eu vejo que coloca a pergunta como título Shocked

@Vinians

Esse 36 imagens é para 8 ou 4 direções ?
Na verdade são 36 imagens que perfazem 360 graus, sendo assim 10 graus de deslocamento para cada imagem. Da pra fazer com 8 ou 4 usando o mesmo calculo, mais com 36 o giro fica mais fluido.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por voldemortBR em Sab 27 Fev 2010, 11:25

opa amigo eu fiz o que vc me disse mais nao ta dando certo aqui esta o jogo se for possivel vc poderia me ajudar obrigado.
http://www.4shared.com/file/230887277/e7c9a96a/4_online.html

voldemortBR

Número de Mensagens : 16
Idade : 22
Data de inscrição : 03/08/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto?

Mensagem por Conteúdo patrocinado Hoje à(s) 02:41


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