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

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
Convidad
Convidado

Checagem no hspeed com problemas;

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

Re: Checagem no hspeed com problemas;

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

Re: Checagem no hspeed com problemas;

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
Data de inscrição : 08/09/2008
Número de Mensagens : 37
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Checagem no hspeed com problemas;

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.
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

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

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

Re: Checagem no hspeed com problemas;

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

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

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

Re: Checagem no hspeed com problemas;

em Qui 11 Set 2008, 14:41
será q não tem q colocar o ! antes do hspeed?
Data de inscrição : 08/09/2008
Número de Mensagens : 37
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: Checagem no hspeed com problemas;

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.
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

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

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

Re: Checagem no hspeed com problemas;

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