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

NPH

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 13/03/2010
Número de Mensagens : 43
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.jogio.webnode.com

Como determinar a velocidade da direção?

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
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

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

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)
avatar
Data de inscrição : 13/03/2010
Número de Mensagens : 43
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.jogio.webnode.com

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

em Dom 10 Jun 2012, 14:45
amigo não deu certo deu erro
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

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

em Dom 10 Jun 2012, 15:01
Faltou fechar os parênteses.
Teste novamente e diga se o resultado está bom.
avatar
Data de inscrição : 13/03/2010
Número de Mensagens : 43
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.jogio.webnode.com

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

em Dom 10 Jun 2012, 15:18
agora não deu erro mas a flexa não segue ainda com atraso no virar
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

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

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

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

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).
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

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

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.
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