Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Problemas em fazer um objeto pular
4 participantes
Página 1 de 1
Problemas em fazer um objeto pular
Eu estou implementando uma Engine de jogos de plataforma, e busquei vários tutoriais e exemplos de como fazer. Entretanto, ainda tenho um problema que não consigo solucionar. O objeto que teria de pular ao apertar 'z' pula sozinho.
Como pode-se obeservar no código a seguir:
Faço as verificações de gravidade, e crio condições para o pulo (Só no momento em que 'z' for pressionado e quando não for detectado pulo é que o objeto pulará. O pulo é verificado pela variável jumpDetection)
Alguem pode me ajudar com este problema? Já procurei dados dentro e fora do fórum e não obtive muito sucesso.
Agradeço desde já.
Como pode-se obeservar no código a seguir:
- Código:
// ================= Code for jumping and stuff ==================
// Gravity for the hero
if place_free(x,y+1){
gravity=0.7;
}
else{
gravity=0;
}
// Jump for the hero
if keyboard_check_pressed('z'){
if jumpDetection == 0{
jumpDetection = 1;
vspeed = -10;
}
if dir_R == 1{
sprite_index = HeroJumpRight;
}
else if dir_L == 1{
sprite_index = HeroJumpLeft;
}
}
Faço as verificações de gravidade, e crio condições para o pulo (Só no momento em que 'z' for pressionado e quando não for detectado pulo é que o objeto pulará. O pulo é verificado pela variável jumpDetection)
Alguem pode me ajudar com este problema? Já procurei dados dentro e fora do fórum e não obtive muito sucesso.
Agradeço desde já.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
Quando se usa teclas de letras para fazer ações, deve se usar a função ord. Nesta função, você coloca a letra correspondente a tecla, em letra maiúscula e entre aspas ou apóstrofos.
No seu caso, o certo seria:
Espero ter ajudado!
No seu caso, o certo seria:
- Código:
if keyboard_check_pressed(ord("Z"))
Espero ter ajudado!
JV Justino- Games Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios :
x 0 x 13 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
E ajudou mesmo, valeu~
Só não peço ainda para fechar o tópico pois percebi um outro problema, mas creio que posso dar um jeito neste.
...Por enquanto.
Só que agora ele só anda no chão depois de pular, e se parar, deixa de andar novamente. Acredito que o problema seja no teste de gravidade. Pois quando o editei tirando a clausula else, ele não deixava o objeto andar a não ser que estivesse no ar.
Vou tentar continuar mexendo aqui, mas agradeço outra possível ajuda @_@
Só não peço ainda para fechar o tópico pois percebi um outro problema, mas creio que posso dar um jeito neste.
...Por enquanto.
Só que agora ele só anda no chão depois de pular, e se parar, deixa de andar novamente. Acredito que o problema seja no teste de gravidade. Pois quando o editei tirando a clausula else, ele não deixava o objeto andar a não ser que estivesse no ar.
Vou tentar continuar mexendo aqui, mas agradeço outra possível ajuda @_@
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
Obviamente, seu código pra andar não está no código apresentado. Por favor, apresente o código pra andar que poderemos ajudar.
Apresente, também, o código que faz jumpdetection voltar pra 0 (ou, pelo menos, o evento em que ele ocorre).
Apresente, também, o código que faz jumpdetection voltar pra 0 (ou, pelo menos, o evento em que ele ocorre).
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
Eis o código inteiro que eu fiz, com algumas modificações:
jumpDetection é definido como 0 quando o objeto realiza colisão com o outro, neste caso, o herói com um bloco ou piso.
Meu problema agora é que se o herói está em contato direto com o piso, ele não anda, ele só anda após pular, pois antes de aterrissar, ele sofre uma pequena desaceleração até enconstar no bloco. Se possível quero resolver estes dois problemas.
- Código:
// ================= Code for moving on ground==================
// Define a standard position in case both right and left keys are pressed
if keyboard_check(vk_left) && keyboard_check(vk_right){
dir_R = 0;
dir_L = 0;
sprite_index = HeroJumpRight;
}
else{ // Deal with only one key case
if keyboard_check(vk_right)&& place_free(x+5, y) {
dir_R = 1;
dir_L = 0;
x+=5;
if jumpDetection == 0 {sprite_index = HeroWalkRight;}
}
if keyboard_check(vk_left) && place_free(x-5, y){
dir_R = 0;
dir_L = 1;
x-=5;
if jumpDetection == 0 {sprite_index = HeroWalkLeft;}
}
}
if keyboard_check_released(vk_left){
sprite_index = HeroJumpLeft;
}
if keyboard_check_released(vk_right){
sprite_index = HeroJumpRight;
}
// ================= Code for jumping and stuff ==================
// Gravity for the hero
if place_free(x,y+1){
gravity=0.7;
}
else {
gravity = 0;
}
// Jump for the hero
if keyboard_check_pressed(ord("Z")) && jumpDetection == 0{
if jumpDetection == 0{
jumpDetection = 1;
}
//if !place_free(x,y+1){
vspeed = -10;
//}
if dir_R == 1{
sprite_index = HeroJumpRight;
}
else if dir_L == 1{
sprite_index = HeroJumpLeft;
}
}
jumpDetection é definido como 0 quando o objeto realiza colisão com o outro, neste caso, o herói com um bloco ou piso.
Meu problema agora é que se o herói está em contato direto com o piso, ele não anda, ele só anda após pular, pois antes de aterrissar, ele sofre uma pequena desaceleração até enconstar no bloco. Se possível quero resolver estes dois problemas.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
- Código:
if keyboard_check(vk_right)&& place_free(x+5, y) {
.....
x+=5;
.....
}
Das duas, uma: ou x+5 não é "place_free" ou "y" não é. Provavelmente, y. Logo, os dois problemas devem estar relacionados. Provavelmente, você está aterrissando um pouco pra dentro do chão.Se possível quero resolver estes dois problemas.
Mocê usa move_contact?
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
Não uso move_contact, tentei uma vez mas aí piorou. E a nesse caso que você mostrou, o place_free só é utilizado pra verificação de colisão horizontal, não creio que isso afete o pulo, ainda mais porque antes de eu alterar o código, não o tinha colocado, e o problema já existia.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
amigo... tenta colocar isso na Colisão com o Chão... e lembrando que é EXPRESSAMENTE RECOMENDADO q vc coloque o CHÃO como SOLIDO:
Colisão do Herói com o Chão:
e outra.. place_free tbm é usado pra Vertical...
place_free(x,y) //x=horizontal e y=vertical...
x negativo é igual a esquerda, x positivo igual a direita
y negativo é igual a cima, y positivo é igual para baixo
bem é isso ae carinha ;)
qualquer coisa é só falar
PS:. Coloca aquele COD de colisão... abraço ;)
Colisão do Herói com o Chão:
- Código:
move_contact_solid(direction,12)
vspeed=0
e outra.. place_free tbm é usado pra Vertical...
place_free(x,y) //x=horizontal e y=vertical...
x negativo é igual a esquerda, x positivo igual a direita
y negativo é igual a cima, y positivo é igual para baixo
bem é isso ae carinha ;)
qualquer coisa é só falar
PS:. Coloca aquele COD de colisão... abraço ;)
Re: Problemas em fazer um objeto pular
Valeu muito Kevin, isso resolveu o problema da desaceleração na aterrissagem, mas ainda tem o problema de não andar, caso o personagem fique em contato direto com o chão.
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Problemas em fazer um objeto pular
esse é um caso de MASK... abra o objeto do Player.. e defina a Sprite dele parado como o MASK padrão do OBJ... e pronto.. ele irá parar de travar ;)
(se caso naum resolver isso me avisa... e se naum souber como fazer isso me manda um MP ;) )
(se caso naum resolver isso me avisa... e se naum souber como fazer isso me manda um MP ;) )
Re: Problemas em fazer um objeto pular
Isso ajudou, valeu mesmo~
E agora podem trancar o tópico :B
Depois eu torturarei vocês com mais problemas q-
E agora podem trancar o tópico :B
FishyHatGuy- Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» como fazer um objeto pular? ( jogo em 3D )
» [Resolvido]Como verificar se um objeto está no ar ou se está em cima de um objeto para pular?
» Como fazer um objeto se duplicar e como fazer um objeto seguir o outro?
» Como fçao meu objeto pular
» Como fazer quando um objeto chegar a uma certa velocidade mudar o objeto
» [Resolvido]Como verificar se um objeto está no ar ou se está em cima de um objeto para pular?
» Como fazer um objeto se duplicar e como fazer um objeto seguir o outro?
» Como fçao meu objeto pular
» Como fazer quando um objeto chegar a uma certa velocidade mudar o objeto
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos