Meu personagem não mexe as pernas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Meu personagem não mexe as pernas

Mensagem por vitorfernandes13 em Qua 15 Jan 2014, 17:46

Olá pessoal, estou aprendendo o básico do GML, e já aprendi a criar personagem que soltam tiros no tutorial do Alex FC :Dmassss... resolvi tentar criar um personagem que pula neste tutorial: http://gmbr.forumeiros.com/t28750-tutorial-primeiro-jogo-com-gml-aula-01#211921 (muito bem feito, por sinal), mass... sempre dava um bug chato, as vezes o personagem ficava preso nos blocos, ou então, não se movimentava mais quando pulava, então resolvi fazer o "jogo" do meu jeito, adicionei um sprite exclusivamente para quando ele ficar parado, outro para quando estiver pulando, outro para a esquerda e outro para a direita, e os bugs pararam, mas, agora, ele não mexe os pés!! Eu coloquei uma animação dele andando, só que quando apertamos o botão direito ou esquerdo, ele não anda, so se movimenta  Suspect aqui está meu arquivo: http://www.4shared.com/file/6CKtICjice/pulo.html (espaço pula)

...
ah, e se puderem me responder praq serve o vspeed ficaria feliz, não entendi muito bem como ele funciona, e queria saber também se é possível fazer um codigo que dê apenas 1 pulo, e não um pulo duplo.

vitorfernandes13

Ranking : Nota C
Número de Mensagens : 284
Data de inscrição : 11/01/2014
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Meu personagem não mexe as pernas

Mensagem por crocha12 em Qua 15 Jan 2014, 18:17


crocha12

Número de Mensagens : 96
Idade : 16
Data de inscrição : 08/11/2013
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Meu personagem não mexe as pernas

Mensagem por JoaoVanBlizzard em Qua 15 Jan 2014, 18:50

O seu erro ocorre por que ele está examinando uma colisão ao mesmo tempo do movimento, ou seja você está ordenando seu personagem a parar e andar ao mesmo tempo com sprites diferentes por exemplo, se você tiver caindo de um salto ao se chocar no chão deve se expecificar que a sprite só sera alterada se o personagem estiver no ar ou com a sprite pulando, assim não ha conflito de sprites, baixei seu arquivo, vi os problemas no step e corrigi para você, coloca esse codigo no lugar do seu no event step:

Código:

//Gravidade
if place_free(x,y + 4){ //Se o explorador estiver no ar
    gravity  = 1 //Há gravidade
    sprite_index = spr_no_ar //E o sprite é spr_no_ar
}
else{  //Se não
    gravity = 0 //Não há gravidade
    pulo = 1
    if sprite_index = spr_no_ar
   sprite_index = spr_explorador //E o sprite é spr_explorador
}

//Movimentos
if keyboard_check(vk_right){
 if place_free(x + 4,y){
    sprite_index = spr_direita  
    image_speed=0.5
    x += 4
    }
}
else
if  keyboard_check(vk_left){
place_free(x - 4,y) {
    sprite_index = spr_esquerda
    image_speed=0.5
    x -= 4
    }
}
else
{
 image_speed=0
 image_index=0
 }

//pulo
if keyboard_check_pressed(vk_space)and (pulo <= 2){ // se estiver presionada a tecla "Space" e o explorador deu menos de 2 pulos...
    vspeed = -12 //o explorador pula
    pulo += 1 //e registra que ele deu mais 1 pulo
}

ah, e se puderem me responder praq serve o vspeed ficaria feliz, não entendi muito bem como ele funciona, e queria saber também se é possível fazer um codigo que dê apenas 1 pulo, e não um pulo duplo.

vspeed significa velocidade vertical , valores positivos(+) descem, negativos (-) sobem
hspeed significa velocidade horizontal,valores positivos(+)vai para a direita, valores negativos(-) vai para esquerda
speed significa que ha uma velocidade


código de salto unico
Código:

if !place_free(x,y+1){vspeed=-10}

JoaoVanBlizzard

Ranking : Nota B
Número de Mensagens : 1925
Idade : 38
Data de inscrição : 04/03/2012
Notas recebidas : B+B
Reputação : 144
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Meu personagem não mexe as pernas

Mensagem por vitorfernandes13 em Qua 15 Jan 2014, 20:14

JoaoVanBlizzard escreveu:O seu erro ocorre por que ele está examinando uma colisão ao mesmo tempo do movimento, ou seja você está ordenando seu personagem a parar e andar ao mesmo tempo com sprites diferentes por exemplo, se você tiver caindo de um salto ao se chocar no chão deve se expecificar que a sprite só sera alterada se o personagem estiver no ar ou com a sprite pulando, assim não ha conflito de sprites, baixei seu arquivo, vi os problemas no step e corrigi para você, coloca esse codigo no lugar do seu no event step:

Código:

//Gravidade
if place_free(x,y + 4){ //Se o explorador estiver no ar
    gravity  = 1 //Há gravidade
    sprite_index = spr_no_ar //E o sprite é spr_no_ar
}
else{  //Se não
    gravity = 0 //Não há gravidade
    pulo = 1
    if sprite_index = spr_no_ar
   sprite_index = spr_explorador //E o sprite é spr_explorador
}

//Movimentos
if keyboard_check(vk_right){
 if place_free(x + 4,y){
    sprite_index = spr_direita  
    image_speed=0.5
    x += 4
    }
}
else
if  keyboard_check(vk_left){
place_free(x - 4,y) {
    sprite_index = spr_esquerda
    image_speed=0.5
    x -= 4
    }
}
else
{
 image_speed=0
 image_index=0
 }

//pulo
if keyboard_check_pressed(vk_space)and (pulo <= 2){ // se estiver presionada a tecla "Space" e o explorador deu menos de 2 pulos...
    vspeed = -12 //o explorador pula
    pulo += 1 //e registra que ele deu mais 1 pulo
}

ah, e se puderem me responder praq serve o vspeed ficaria feliz, não entendi muito bem como ele funciona, e queria saber também se é possível fazer um codigo que dê apenas 1 pulo, e não um pulo duplo.

vspeed significa velocidade vertical , valores positivos(+) descem, negativos (-) sobem
hspeed significa velocidade horizontal,valores positivos(+)vai para a direita, valores negativos(-) vai para esquerda
speed significa que ha uma velocidade


código de salto unico
Código:

if !place_free(x,y+1){vspeed=-10}

Obrigado Camilo por tentar me ajudar e valeu Joãoooo!  cheers

vitorfernandes13

Ranking : Nota C
Número de Mensagens : 284
Data de inscrição : 11/01/2014
Notas recebidas : C
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Meu personagem não mexe as pernas

Mensagem por Conteúdo patrocinado Hoje à(s) 08:30


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum