como fazer um objeto seguir o outro?

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

como fazer um objeto seguir o outro?

Mensagem por jpaulo em Sab 19 Jun 2010, 14:48

como fazer um objeto seguir o outro?e que eu queria fazer um game estilo ragnarok
isso ajudaria muito.

jpaulo

Número de Mensagens : 345
Data de inscrição : 21/03/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: como fazer um objeto seguir o outro?

Mensagem por Cainã em Sab 19 Jun 2010, 14:52

Você precisa criar uma IA, o jeito mais simples é usar o Move Towards, tenta assim:

Código:
{

var Obj, Velocidade ;

Obj := Objeto_A_Ser_Seguido ;

Velocidade := 5 ; //Velocidade com que vai seguir.

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;

}

Cainã

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

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por jpaulo em Sab 19 Jun 2010, 14:55

vlw,Cainã.Sou seu fã.Mas sabe se isso vai funcionar caso o obj a ser seguido se movimente?

jpaulo

Número de Mensagens : 345
Data de inscrição : 21/03/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: como fazer um objeto seguir o outro?

Mensagem por Cainã em Sab 19 Jun 2010, 14:57

jpaulo escreveu:vlw,Cainã.Sou seu fã.Mas sabe se isso vai funcionar caso o obj a ser seguido se movimente?

Acho que sim, não testei mas deve funcionar.

Cainã

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

http://cai.na.tl/

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por mateus luz em Sab 19 Jun 2010, 15:03

Só uma obs, poderia trocar o

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;

por

mp_potential_step(player.x,player.y,3,solid)

assim o inimigo desvia de objetos sólidos

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por BioTrust em Sab 19 Jun 2010, 15:10

Tem tambem isso:
if instance_exists(object0) //obj_1 = obj a ser seguido
{
x = object0.x-32 // vai seguir o obj_1 horizontalmente 32 pixels de distancia a esquerda pra nao ficar colado
y = object0.y // vai seguir o obj_1 verticalmente
}

BioTrust

Número de Mensagens : 410
Idade : 19
Data de inscrição : 04/06/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://livrodojovemnerd.blogspot.com

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por Denis Lemos em Sab 19 Jun 2010, 15:15

Só uma obs, poderia trocar o

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;

por

mp_potential_step(player.x,player.y,3,solid)

assim o inimigo desvia de objetos sólidos
Esta é a função que acho a melhor para este tipo de caso, mas não é solid que coloca no último argumento:
Aqui uma breve explicação dos seus argumentos:
mp_potential_step(x,y,speed,checkall)
Em x e y é as coordenadas para onde ele deve ir
Em speed é obivio que é a velocidade em que ele vai ir
Em checkall se deixar true vai desviar dos objetos sólidos, se for false não vai desviar

Então aqui é um exemplo para fazer o inimigo seguir o obj_player:
Código:
mp_potential_step(obj_player.x,obj_player.y,5,true)

Mas porque que eu acho ela a melhor ???
Porque a função "move_towards_point" ela fica sempre seguindo as coordenadas, e quando chega lá o objeto fica se tremando todo, sem contar que não desvia dos objetos sólidos !
Já a função "mp_potential_step" ela desvia dos sólidos, e retorna um valor se está ou não no objetivo, o que faz com que o objeto fique parado quando chega no local e não se tremendo igual uma britadeira !

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por mateus luz em Sab 19 Jun 2010, 15:21

Denis Lemos escreveu:
Só uma obs, poderia trocar o

move_towards_point(Obj.x, Obj.y, min(Velocidade, point_distance(x, y, Obj.x, Obj.y))) ;

por

mp_potential_step(player.x,player.y,3,solid)

assim o inimigo desvia de objetos sólidos
Esta é a função que acho a melhor para este tipo de caso, mas não é solid que coloca no último argumento:
Aqui uma breve explicação dos seus argumentos:
mp_potential_step(x,y,speed,checkall)
Em x e y é as coordenadas para onde ele deve ir
Em speed é obivio que é a velocidade em que ele vai ir
Em checkall se deixar true vai desviar dos objetos sólidos, se for false não vai desviar

Então aqui é um exemplo para fazer o inimigo seguir o obj_player:
Código:
mp_potential_step(obj_player.x,obj_player.y,5,true)

Mas porque que eu acho ela a melhor ???
Porque a função "move_towards_point" ela fica sempre seguindo as coordenadas, e quando chega lá o objeto fica se tremando todo, sem contar que não desvia dos objetos sólidos !
Já a função "mp_potential_step" ela desvia dos sólidos, e retorna um valor se está ou não no objetivo, o que faz com que o objeto fique parado quando chega no local e não se tremendo igual uma britadeira !

Concordo, é que eu use do geito que disse(mp_potential_step(player.x,player.y,3,solid)e deu certo, mas não sabia deste outro geito(mp_potential_step(obj_player.x,obj_player.y,5,true)

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por Denis Lemos em Sab 19 Jun 2010, 15:31

mateus luz escreveu:
Concordo, é que eu use do geito que disse(mp_potential_step(player.x,player.y,3,solid)e deu certo, mas não sabia deste outro geito(mp_potential_step(obj_player.x,obj_player.y,5,true)

Isto porque quando se coloca um argumento errado, o GM altera ele para o padrão da função, que no caso deve estar como "true" !

Denis Lemos

Número de Mensagens : 938
Idade : 28
Data de inscrição : 17/05/2009
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por mateus luz em Sab 19 Jun 2010, 15:32

ok, obrigado

mateus luz

Número de Mensagens : 340
Idade : 20
Data de inscrição : 12/04/2010
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por jpaulo em Seg 21 Jun 2010, 10:34

bom,deixa eu explicar melhor.alguem q joga ragnarok pode me ajudar melhor,eu acho.um exemplo do q eu quero e aquele punho supremo de asura.objeto a ser seguido:player.o obj q segue:as letras japonesas pretas.
eu exemplo:http://www.gamemakerbrasil.com/perguntas-respostas-f8/duvidas-de-cursor-t6952.htm.
obs:eu nao quero q o obj a ser seguido desapareça.


Última edição por jpaulo em Seg 21 Jun 2010, 10:41, editado 1 vez(es) (Razão : adicionar um exemplo.)

jpaulo

Número de Mensagens : 345
Data de inscrição : 21/03/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: como fazer um objeto seguir o outro?

Mensagem por Licht em Seg 21 Jun 2010, 11:00

no step do objeto que vai seguir o outro ponha:

arraste a ação: step avoiding

(o) self
x: [objetoaserseguido.x]
y: [objetoaserseguido.y]
speed: [velocidade]
avoid: [desviando apenas de sólidos ou de todos]

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Re: como fazer um objeto seguir o outro?

Mensagem por jpaulo em Sab 17 Jul 2010, 18:26

pessoal,nao e seguir do tipo AI.alguem aki joga ragnarok?me respondam e eu vou dizer oq eu quero.postem,por favor.

jpaulo

Número de Mensagens : 345
Data de inscrição : 21/03/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: como fazer um objeto seguir o outro?

Mensagem por jpaulo em Sex 23 Jul 2010, 10:05

Lucas Lunar escreveu:no step do objeto que vai seguir o outro ponha:

arraste a ação: step avoiding

(o) self
x: [objetoaserseguido.x]
y: [objetoaserseguido.y]
speed: [velocidade]
avoid: [desviando apenas de sólidos ou de todos]
ssssssssssssssssssssssssssssssssssssssssshhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhooooooooooooooooooooooooooowwwwwwwwwwwwwwwwwww dddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbboooooooooooooooooooooooooooooooooooooooooooooooooolllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(show de bola!)vlw mesmo, kara,era isso que eu queria!e mais uma coisa:contemple minha assinatura!!!

jpaulo

Número de Mensagens : 345
Data de inscrição : 21/03/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: como fazer um objeto seguir o outro?

Mensagem por Conteúdo patrocinado Hoje à(s) 08:36


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