Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Obj prende na parede

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
edy007
Artista
Artista
Reações: 0
Mensagens: 1

Obj prende na parede

Mensagem por edy007 » Ter Set 11, 2018 8:03 am

Sempre que encosto na parede o player para de cair, acaba que ele fica flutuando ao lado da parede enquanto eu seguro o botão pra direita ou esquerda, ao soltar o botão o player cai.

Imagem

Isso acontece também com a lesma ali em baixo, que possui um codigo pra mudar de direção sempre que colidir com a parede, mas ela prende na parede e não executa o codigo.
Acho que não é problema com a mascara, pois estou usando a mesma mascara pra todas as imagens do player e da lesma.
De qualquer forma, o link do projeto:
https://mega.nz/#!eE8FkSaB!F-FZ2P8Msu8l ... GGt40ZO9fI

Avatar do usuário
None
Colaborador
Colaborador
Reações: 2
Mensagens: 286

Re: Obj prende na parede

Mensagem por None » Qua Set 12, 2018 12:51 am

Eu não vou baixar o projeto (seria prático de você colocasse o código de movimento aqui).
Mas provavelmente seu código de movimento tem problemas, você deve separar a colisão horizontal da vertical, se houver colisão vertical aí você tira a gravidade, se houver horizontal então você tira a velocidade vertical.

Dê uma olhada neste vídeo e no próximo

https://youtu.be/MBRV-98SmFg

É um meio de simular gravidade.
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Avatar do usuário
Foxy Of Jungle
Programador
Programador
Reações: 0
Mensagens: 153
Localização: Brasil
Contato:

Re: Obj prende na parede

Mensagem por Foxy Of Jungle » Qua Set 12, 2018 9:41 am

É simples, você provavelmente usou a variável "hspeed", isso que está causando o travamento na parede.
Solução: Você pode usar o:
if !place_free(x-5,y) {x-=5} Isso verifica se não há um objeto sólido do lado esquerdo, se não há, x-=5 (Exemplo)

Você verifica se tem uma parede antes de executar o movimento horizontal.

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante