GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


Problemas em fazer um objeto pular

4 participantes

Ir para baixo

Problemas em fazer um objeto pular Empty Problemas em fazer um objeto pular

Mensagem por FishyHatGuy Ter 05 Jul 2011, 18:56

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:

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
FishyHatGuy

Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por JV Justino Ter 05 Jul 2011, 19:09

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:
Código:
if keyboard_check_pressed(ord("Z"))

Espero ter ajudado!

flw
JV Justino
JV Justino

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 13 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por FishyHatGuy Ter 05 Jul 2011, 23:35

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 @_@
FishyHatGuy
FishyHatGuy

Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por saim Qua 06 Jul 2011, 10:58

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).
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por FishyHatGuy Qua 06 Jul 2011, 11:03

Eis o código inteiro que eu fiz, com algumas modificações:

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
FishyHatGuy

Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por saim Qua 06 Jul 2011, 14:02

Código:
if keyboard_check(vk_right)&& place_free(x+5, y) {
        .....
        x+=5;
        .....
    }
Se possível quero resolver estes dois problemas.
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.
Mocê usa move_contact?
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por FishyHatGuy Qua 06 Jul 2011, 19:05

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
FishyHatGuy

Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por Kevin Qua 06 Jul 2011, 19:37

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:
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

abraço

PS:. Coloca aquele COD de colisão... abraço ;)
Kevin
Kevin

Games Ranking : Nota C

Notas recebidas : C - C
Data de inscrição : 14/11/2008
Reputação : 9
Número de Mensagens : 1166
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

http://www.programaCODM.webs.com/

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por FishyHatGuy Qua 06 Jul 2011, 19:45

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
FishyHatGuy

Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por Kevin Qua 06 Jul 2011, 19:48

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 ;) )

abraço
Kevin
Kevin

Games Ranking : Nota C

Notas recebidas : C - C
Data de inscrição : 14/11/2008
Reputação : 9
Número de Mensagens : 1166
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 0

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

http://www.programaCODM.webs.com/

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por FishyHatGuy Qua 06 Jul 2011, 19:51

Isso ajudou, valeu mesmo~
E agora podem trancar o tópico :B
Depois eu torturarei vocês com mais problemas q-
FishyHatGuy
FishyHatGuy

Data de inscrição : 30/04/2011
Reputação : 1
Número de Mensagens : 18
Prêmios : Problemas em fazer um objeto pular Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Problemas em fazer um objeto pular Empty Re: Problemas em fazer um objeto pular

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo


 
Permissões neste sub-fórum
Não podes responder a tópicos