Como determinar a velocidade da direção?

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

Como determinar a velocidade da direção?

Mensagem por jogio em Dom 10 Jun 2012, 14:23

Pessoal eu coloco o obj_flexa para seguir o obj_player mais só que eu quero que a flexa mude de direção meio devagar
eu isso isso no draw da frexa
draw_sprite_ext(sprite_index,0,x,y,1,1,direction,c_white,1)
mas a flexa aponta para o obj_player muito rapido e eu queria que ela demorasse um pouco para virar.
Agradeço pela ajuda

jogio

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

http://www.jogio.webnode.com

Voltar ao Topo Ir em baixo

Re: Como determinar a velocidade da direção?

Mensagem por PedroX em Dom 10 Jun 2012, 14:36

Você pode fazer assim:

Código:
direction -= sign(direction - point_direction(x,y,player.x,player.y)) * fator_correcao;
image_angle = direction;

O fator_correcao deve ser um número positivo.

Por exemplo, pode ser 3.

Chama-se fator_correcao porque é para corrigir, ou seja, você vai ajustar.

Até mais!


Última edição por Pedrø em Dom 10 Jun 2012, 15:00, editado 1 vez(es)

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como determinar a velocidade da direção?

Mensagem por jogio em Dom 10 Jun 2012, 14:45

amigo não deu certo deu erro

jogio

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

http://www.jogio.webnode.com

Voltar ao Topo Ir em baixo

Re: Como determinar a velocidade da direção?

Mensagem por PedroX em Dom 10 Jun 2012, 15:01

Faltou fechar os parênteses.
Teste novamente e diga se o resultado está bom.

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como determinar a velocidade da direção?

Mensagem por jogio em Dom 10 Jun 2012, 15:18

agora não deu erro mas a flexa não segue ainda com atraso no virar

jogio

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

http://www.jogio.webnode.com

Voltar ao Topo Ir em baixo

Re: Como determinar a velocidade da direção?

Mensagem por PedroX em Dom 10 Jun 2012, 19:31

Sim, porque ele vira 3º a cada step, ou seja, 90 por segundo.

Coloque um valor pequeno no fator_correcao (p. ex. 0.25).

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Como determinar a velocidade da direção?

Mensagem por saim em Seg 11 Jun 2012, 11:20

Lembre-se que image_angle é diferente de direction.

Eu tenho, na minha gaveta, um script ótimo pra determinar a diferença entre dois ângulos que leva em conta o caso de 360 - 0. É esse aqui:
Código:
/*
**  usage:
**      diff = angle_difference(angle1,angle2);
**
**  given:
**      angle1    first direction in degrees, real
**      angle2    second direction in degrees, real
**
**  returns:
**      difference of the given angles in degrees, -180 to 180
**
**  GMLscripts.com
*/
{
    return ((((argument0 - argument1) mod 360) + 540) mod 360) - 180;
}
Mantive os comentários no início pra dar os devidos créditos. O script está na minha gaveta, mas não é meu.
Use com sabedoria.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Como determinar a velocidade da direção?

Mensagem por Conteúdo patrocinado Hoje à(s) 14:01


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