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. |
ERRO NA COLISÃO
- TootyNozert
- Novato
- Reações: 0
- Mensagens: 3
-
ERRO NA COLISÃO
...
Editado pela última vez por TootyNozert em Ter Jun 19, 2018 7:15 pm, em um total de 2 vezes.
Re: ERRO NA COLISÃO
não funciona como? o player cai infinitamente?
Não esqueça de marcar a caixa "solid" dos objt plataforma
Não esqueça de marcar a caixa "solid" dos objt plataforma
Vlw, Flw !!
- Superbomber
- Programador
- Reações: 0
- Mensagens: 283
- Localização: Natal-RN
-
Re: ERRO NA COLISÃO
Esse codigo esta errado. Você não está usando hspeed e vspeed para mover. Então esses ifs não estão certos.
Outra coisa, o valor de gravity deve ser definido para 0 quando houver uma plataforma abaixo dele.
E por fim, PLACE_free() só verifica colisão com objetos solidos, logo tera que definir os objetos que seu player deve colidir como solidos.(a caixa de marcação no canto esquerdo la no objeto)
Tente um código como:
E nada de copiar e colar, estude o codigo e veja como funciona. ;D
(Alem disso, esrou em um tablet pode haver erros.)
Outra coisa, o valor de gravity deve ser definido para 0 quando houver uma plataforma abaixo dele.
E por fim, PLACE_free() só verifica colisão com objetos solidos, logo tera que definir os objetos que seu player deve colidir como solidos.(a caixa de marcação no canto esquerdo la no objeto)
Tente um código como:
Código: Selecionar todos
if(place_meeting(obj_plataforma, x, y+1)){
gravity = 0;
} else {
gravity 0.5;
}
repeat(5){
if(place_free(x+1, y) && keyboard_check(vk_right)){
x += 1;
} else if(place_free(x-1, y) && keyboard_check(vk_left)){
x -= 1;
}
if(place_free(x, y+1) && keyboard_check(vk_down)){
y += 1;
} else if(place_free(x, y-1) && keyboard_check(vk_up)){
y -= 1;
}
}
(Alem disso, esrou em um tablet pode haver erros.)
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script
- TootyNozert
- Novato
- Reações: 0
- Mensagens: 3
-
Re: ERRO NA COLISÃO
...
Editado pela última vez por TootyNozert em Ter Jun 19, 2018 7:16 pm, em um total de 2 vezes.
Re: ERRO NA COLISÃO
Bom dia Tooty
Da uma olhada nessa simples engine vai resolver o seu problema, eu refiz esse código de gravidade.
*Retirei o place_meeting do código.
https://www.dropbox.com/s/g9t9dr8bbba5yyd/colisao.gmk?dl=0
Atenciosamente,
Wendryos G.
Da uma olhada nessa simples engine vai resolver o seu problema, eu refiz esse código de gravidade.
*Retirei o place_meeting do código.
https://www.dropbox.com/s/g9t9dr8bbba5yyd/colisao.gmk?dl=0
Atenciosamente,
Wendryos G.
Re: ERRO NA COLISÃO
Boa tarde a todos
Sou novo por aqui, e estava dando uma olhada nas respostas aqui apresentadas e me ocorreu uma dúvida:
Por que foi utilizado o comando "repeat(5)" logo antes dos comandos de movimento?
o Step já não repete o código todo a cada frame do jogo?
Desde já agradeço!
Sou novo por aqui, e estava dando uma olhada nas respostas aqui apresentadas e me ocorreu uma dúvida:
Por que foi utilizado o comando "repeat(5)" logo antes dos comandos de movimento?
o Step já não repete o código todo a cada frame do jogo?
Desde já agradeço!
- Superbomber
- Programador
- Reações: 0
- Mensagens: 283
- Localização: Natal-RN
-
Re: ERRO NA COLISÃO
Olá Doc, este é um principio simples que aprendi com o Willy(Membro do fórum, ex-administrador).
Perceba que no repeat ele verifica a colisão a frente e só move se não tiver nenhum objeto a frente.
Movendo-se 1 por 1, não existe o perigo de entrar dentro de uma parede(ou qualquer outro objeto sólido) ou parar antes de "encostar" nela.
Repetindo cinco vezes, no final o efeito é o mesmo de x += 5 mas sem riscos de bug.
Veja a engine de movimento limpo do Willy.
Perceba que no repeat ele verifica a colisão a frente e só move se não tiver nenhum objeto a frente.
Movendo-se 1 por 1, não existe o perigo de entrar dentro de uma parede(ou qualquer outro objeto sólido) ou parar antes de "encostar" nela.
Repetindo cinco vezes, no final o efeito é o mesmo de x += 5 mas sem riscos de bug.
Veja a engine de movimento limpo do Willy.
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script
Re: ERRO NA COLISÃO
Hmmm, que interessante! Muito obrigado pela explicação! Darei uma olhada nessa engine do Willy (aliás, a página do link está um pouco bugada aqui).
Mas obrigado de qualquer maneira Superbomber! ;)
Mas obrigado de qualquer maneira Superbomber! ;)
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes