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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 11/07/2017
Número de Mensagens : 12
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

[RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 04:51
Bem, eu até fico com vergonha fazer dois tópicos de pergunta seguidos mas, eu estou com outro problema que não consigo entender, no meu jogo de plataforma o personagem tem 2 estados, ar e chão, quando eu pulo ou caio personagem troca de estado normalmente, quando eu toco o chão também, mas mesmo o código de movimentação horizontal sendo o mesmo para os 2 no ar ele é mais lento por motivos que não consigo entender, eu revisei o código do personagem todo(que é basicamente pouca coisa), e não encontrei nada que explicasse, eu não estou usando physics e não tem nenhum evento no chão, não queria incomodar mas de ontem para hoje eu fiquei pesquisando sobre isso .

0bs: Estou usando aceleração com clamp e fricção mas o código de movimentação é literalmente o mesmo nos 2 estados


Última edição por lolandoplayer em Qui 13 Jul 2017, 20:08, editado 1 vez(es)
Ranking : Sem avaliações
Data de inscrição : 06/07/2017
Número de Mensagens : 24
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 09:56
Pelo que tu descreve eu suponho que não esteja deslocando o personagem através de incremento/decremento da coordenada no eixo X, do contrário ele se moveria "n" pixels pra direita ou esquerda independente da ação da gravidade.

Nesse caso deve estar ocorrendo do personagem se movimentar em um vetor dinâmico que se "arqueia" para baixo quando ele sofre a aceleração da gravidade, resultando nessa impressão de que ele vai mais devagar quando no ar.
avatar
Ranking : Sem avaliações
Data de inscrição : 11/07/2017
Número de Mensagens : 12
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 10:41
Estou adicionando em x o valor da velocidade horizontal como eu normalmente faço scratch
Ranking : Sem avaliações
Data de inscrição : 06/07/2017
Número de Mensagens : 24
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 11:27
Por essa descrição e levando em conta que você está usando coordenadas diretamente, fica difícil estimar a causa.

Talvez seja mais eficaz se puder disponibilizar uma cópia do projeto (não precisa ser todo o projeto, contanto que dê para reproduzir o problema) pro pessoal dar uma olhada mais a fundo.
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1835
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 14:19
É um tiro no escuro, mas, eu consideraria haver um conflito no código em que a força de movimento é aplicado duas vezes ao invés de apenas uma quando se está no chão, ou, ao contrário, algo está diminuindo a força de movimento no ar.

Eu acho mais provável que seja o primeiro caso, provavelmente algum código é executado quando se está colidindo com o chão.

Bom, como foi dito, podem ser inúmeras causas (por isso um tiro no escuro). Se não quiser disponibilizar uma cópia do projeto, mostrar os códigos que usou no objeto em questão já é de grande ajuda.

Boa sorte com o bug! blz
avatar
Ranking : Sem avaliações
Data de inscrição : 11/07/2017
Número de Mensagens : 12
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 15:54
Muito obrigado por virem responder, só isso já me ajuda muito(vocês n fazem ideia), vou passar o projeto mas ele está mal trabalhado ainda --\'.


mega.nz /#!UGQh3QJK!7FV86Bh8Y6bRbFcSVZtcg3VT1wjjEFKSiok9BBJwQ3M


(unam a barra e o mega que está com espaço porque ainda não dá para passar links(coitado do meu dog))
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1835
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 19:35
Rapaz, mas que código complicado hein? Você é o autor?
Ele pode até ser funcional, mas tem muitas dependências externas o que o tornou um tanto complicado de entender e dar manutenção. Mexi neles por alguns minutos e não consegui encontrar o problema, mesmo depois de vários testes.

Caso este código não seja de sua autoria, realmente existe a necessidade de usar este tipo de movimentação? Existem métodos mais simples que também são eficientes.
Ranking : Sem avaliações
Data de inscrição : 06/07/2017
Número de Mensagens : 24
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 19:46
Então, verifiquei aqui e ocorre o que o Willy disse sobre conflitos. Nesse caso não é necessariamente um conflito, mas uma ambiguidade no código.

Quando o personagem salta ativa o state air, e nesse caso o script que ele executa se "soma" ao que já está sendo executado no state grounded.

Faça o teste por si mesmo... comente a ação
Código:
if (!grounded){
state = states.air;
}
em seu script player_ground e tente saltar ingame =]

Pra te ser sincero, achei um sistema deveras intrincado para a baixa complexidade do que tu está realizando ali. Talvez tenha se baseado em algum exemplo ou etc, mas atente ao fato de que ele usa um estado de pulo somente para dizer que está em um estado de pulo.

Sugiro que implemente uma mecânica de movimento horizontal que seja independente do state "air".
avatar
Ranking : Sem avaliações
Data de inscrição : 11/07/2017
Número de Mensagens : 12
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: [RESOLVIDO]Mover no ar é mais lento e não deveria

em Qui 13 Jul 2017, 20:01
Obrigado pelas dicas e eu já tinha comentado isto no código mas seu comentário me fez perceber outra coisa, me sinto um idiota, realmente era ambiguidade mas por causa da minha burrice, eu esqueci o break...

Mas como tudo pode vir para bem seus comentários me ajudaram a refletir sobre o código, realmente é necessário eu fazer este sistema para o jogo já que é algo bem especifico do jogo que vai tomar um rumo entre "Dark Souls" e "God Of War" para eu limitar a movimentação do player(ele vai ter que controlar a aceleração e fricção para não dar de cara com monstros e nem ser "combado" por muito tempo).

Agora eu vou seguir seu conselho e vou criar um script de movimentação horizontal que vai ser executado nos estados de movimento do jogador mas de maneira independente.
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