Últimos assuntos
» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

» Ajuda para mecanismo do jogo
por Willy Dom 16 Jul 2017, 15:54

Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220918 mensagens em 30411 assuntos

Player enroscado no chão

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

Player enroscado no chão

Mensagem por MRM em Qui 14 Nov 2013, 00:04

olha pessoal tudo bem? Sou M, e estou tendo um problema, já fiz a movimentação do meu Player, mas quando eu coloco a colisão com o chão, o player não anda, simplesmente fica enroscado no chão, já tentei de varias maneira corrigir, mas não consegui.

alguém pode me ajudar?
avatar
MRM

Data de inscrição : 10/11/2013
Número de Mensagens : 5
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Player enroscado no chão

Mensagem por Willy em Qui 14 Nov 2013, 00:18

Provavelmente está usando um sistema que usa gravity, certo? A gravidade atua independente de existir um chão sólido ou não, portanto, é necessário informar ao seu objeto que quando não tiver espaço livre abaixo dele, a gravidade deve ser zero, caso contrário, a gravidade que você selecionou. Isso já resolve uma pequena parte, entretanto, acredito que isso já tenha sido feito, só comentei para complementar.

Certo, depois de definir quando a gravidade deve agir ou não, precisamos "arrumar", ou melhor, corrigir a posição y do objeto. Para tal, coloque este código no objeto que usa a gravidade no evento de colisão com o chão:
Código:
if vspeed > 0 and not place_free(x,y + vspeed)//***se a velocidade vertical for maior do que 0 e não tiver o mesmo valor da vel vertical abaixo...
   {
    move_contact_solid(direction,vspeed)//mover na direção do bloco, na direção e com a vel.vertical
    }
vspeed = 0//***velocidade vertical = a 0 (esta no chão)
No caso, é o move_contact_solid que "arruma" a posição do seu objeto.

Agora seu personagem deve andar livremente...
Dúvidas é só falar! blz
avatar
Willy

Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1831
Insígnias de JAM :

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

Prêmios
   : 2
   : 1
   : 1

Ver perfil do usuário http://willy-gmbr.blogspot.com/

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