Checagem no hspeed com problemas;

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

Checagem no hspeed com problemas;

Mensagem por Convidad em Ter 09 Set 2008, 10:37

Fala galera, blz!

Estou usando o seguinte código para checar se o personagem está se movendo "horizontalmente" e para que lado está indo:

Código:
if hspeed!=0
    {
    var_run=1
    if hspeed>0
        var_right=1
    else
    if hspeed<0
        var_right=0
    }
    else
    var_run=0

...a variável "var_run" indica se está se movendo (1) ou não (0) e a "var_right" indica se está voltado para a direita (1) ou esquerda (0)


O problema é que quando o personagem se move na vertical (vspeed) apenas, a variável "var_run" tmb fica sendo verdadeira (1)...

...se alguém aí souber e puder me explicar como eu posso fazer com que apenas a "hspeed" defina a var_run como 0 ou 1 eu agradeço!

flw

t+

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por Convidad em Ter 09 Set 2008, 10:50

Humm. Tente executar o jogo no modo debug e cheque se a sua hspeed se altera quando você faz o movimento vertical... (a maioria das vars de movimento trabalham como float)

Pra executar em modo debug é só apertar F6. Vai no menu "Tools -> Show Local Variables". Digite o nome do objeto ou o id da instância que quer testar. As variáveis dela vão ser mostradas em uma janela separada.

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por Convidad em Ter 09 Set 2008, 11:01

Vlw brendan... eu já constatei isso com um draw_text para as variáveis do obj... não é o modo mais "técnico", mas a funcionalidade é a mesma XD

A hspeed atinge um valor muito pequeno... 0.0000[...]30, eu chequei no modo debug tmb como vc sugeriu;

Bom, se isso for "normal" de certa forma, acho que terei então que checar se o hspeed é >/< que "0. alguma coisa" à fim de eliminar esse mínimo valor que o vspeed gera Very Happy

Vlw velho... qq novidade eu posto... por hora se alguém tiver alguma outra sugestão eu agradeço tmb!

t+


EDIT: É galera, eu mudei o código para:

Código:
if hspeed!=0
    {
    if hspeed>0.001
        {
        var_run=1
        var_right=1
        }
    else
    if hspeed<-0.001
        {
        var_run=1
        var_right=0
        }
    }
    else
    var_run=0

...com a checagem em >/< que 0.001 e tmb desloquei a definição da var_run e agora ficou tudo OK cyclops

Vlw mais uma vez e podem fechar o tópico;

flw

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por ryan_b em Ter 09 Set 2008, 12:41

Tente isso:

Código:
if floor(hspeed) !=0
    {
    var_run=1
    if hspeed>0
        var_right=1
    else
    if hspeed<0
        var_right=0
    }
    else
    var_run=0

floor arredonda um valor para baixo.

ryan_b

Número de Mensagens : 37
Idade : 21
Data de inscrição : 08/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por KinKing em Qui 11 Set 2008, 13:19

Mas o que adianta arredondar o valor de 0 numa checagem?

Minha solução é a seguinte:

Código:
if (hspeed < 0.1 && hspeed > -0.1)

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por Froidz em Qui 11 Set 2008, 14:41

será q não tem q colocar o ! antes do hspeed?

Froidz

Número de Mensagens : 1053
Idade : 23
Data de inscrição : 03/08/2008
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por ryan_b em Qui 11 Set 2008, 20:22

KinKing escreveu:Mas o que adianta arredondar o valor de 0 numa checagem?

Minha solução é a seguinte:

Código:
if (hspeed < 0.1 && hspeed > -0.1)

Resolveria se ele não usasse números "quebrados" Very Happy . Ex: 0.13, 0.01, etc.

ryan_b

Número de Mensagens : 37
Idade : 21
Data de inscrição : 08/09/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por KinKing em Sex 12 Set 2008, 15:43

Resolve justamente porque, se o hspeed estiver entre -0.1 e 0.1, ou seja, com todos os quebrados, ele se torna zero.

KinKing

Número de Mensagens : 416
Data de inscrição : 29/05/2008
Reputação : 16
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://felipejoys.webnode.com

Voltar ao Topo Ir em baixo

Re: Checagem no hspeed com problemas;

Mensagem por Conteúdo patrocinado Hoje à(s) 19:55


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