GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Ontem à(s) 13:33

» É possível fazer istó no game maker
por William Lima Ontem à(s) 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


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

4 participantes

Ir para 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? Empty 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 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)
avatar
voldemortBR

Data de inscrição : 03/08/2009
Reputação : 0
Número de Mensagens : 16
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para 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? Empty 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 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
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para 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? Empty 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 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
avatar
voldemortBR

Data de inscrição : 03/08/2009
Reputação : 0
Número de Mensagens : 16
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para 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? Empty 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 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
fonetico

Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para 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? Empty 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 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
avatar
voldemortBR

Data de inscrição : 03/08/2009
Reputação : 0
Número de Mensagens : 16
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para 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? Empty 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 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
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para 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? Empty 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 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
wac2007

Data de inscrição : 07/11/2008
Reputação : 0
Número de Mensagens : 521
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://wac2007.blogspot.com/

Ir para o topo Ir para 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? Empty 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 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
vinians

Games Ranking : Nota B

Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Reputação : 90
Número de Mensagens : 2716
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Construct 2
  • Java
  • C#
  • Javascript
  • C ou C++
  • Outros


https://vinians.itch.io

Ir para o topo Ir para 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? Empty 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 Sáb 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
avatar
voldemortBR

Data de inscrição : 03/08/2009
Reputação : 0
Número de Mensagens : 16
Prêmios : como fazer o inimigo me seguir a uma certa distancia, mudar de sprite de acordo com a direçaoe me atacar quando chegar perto? Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para 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? Empty 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


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos