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
» player não consegue andar
por 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

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

- Tópicos semelhantes

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