Conectar-se
Quem está conectado
25 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 24 Visitantes

WellingtonBecker

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 21/01/2011
Número de Mensagens : 56
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[Resolvido] Pulo do personagem

em Sab 22 Jan 2011, 11:53
gente, sou novato aqui no game maker brasil, estou criando um jogo e então é ai que entra o meu grande problema, crio o sprites ( correndo, pulando etc...) eu programo tudo certinho, eu aperto a tecla de pulo e depois aperto a tecla de movimento para a direita, só que ele anda pulando!!! affraid eu espero que ajudem-me a resolver este "misterio".
Abraços.

[EDIT]
obrigado a todos, consegui resolver este problema(finalmente)Happy


Última edição por juniorr452 em Ter 25 Jan 2011, 19:09, editado 1 vez(es)
avatar
Ranking : Nota D
Notas recebidas : C+D
Data de inscrição : 26/10/2010
Número de Mensagens : 163
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Sab 22 Jan 2011, 12:15
no step do personagem, coloque:

if keyboard_check(vk_up) and !place_free (x,y+1)
{
vspeed=-12
}

isto faz com que se apertar a tecla de cima e o espaço estiver livre ele salta com velocidade 12.
Data de inscrição : 20/12/2010
Número de Mensagens : 109
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Sab 22 Jan 2011, 12:55
Pelo que percebi o problema dele é com o sprite do salto, não com o salto em si...

Supondo que o seu codigo de movimento é assim:

Código:
if keyboard_check(vk_right)
{
hspeed = 4
sprite_index = sprite_do_player_andando
}

Tente por o seguinte:
Código:
if keyboard_check(vk_right)
{
hspeed = 4
[b]if !place_free(x,y+1)[/b]
sprite_index = sprite_do_player_andando
}

Isto fará com que o sprite apenas mude se ele não tiver livre de colisoes com solidos um pixel abaixo, ou seja, o sprite so muda se ele estiver no chao

Se funcionar é só fazer o mesmo para a esquerda(obviamente)
avatar
Data de inscrição : 21/01/2011
Número de Mensagens : 56
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Sab 22 Jan 2011, 16:01
eu tentei estas 2 maneiras, mas nenhuma deu certo :/
irei explicar melhor, eu estava dando uma olhada nos tutoriais deste site e achei a seguinte postagem:
http://gmbr.forumeiros.com/t13098-tutorial-jogo-de-plataforma-completo
sim, fiz tudo o que mandava, só que quando ele pula e aperto a a tecla para a direita ou esquerda, ele anda pulando, por favor, olhem a postagem e se puder ajudem-me...
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Sab 22 Jan 2011, 16:12
O tutorial tem uma variável chamada parado e o cara nem sequer a usa. E se usasse, causaria algum tipo de bug. E é muito estranho andar pulando, a não ser que você tenha apertado para cima. Uma outra sugestão é se você não colocou a tecla da esquerda e da direita na condição... Mas, por via das dúvidas, passe o código que você está usando, deve ter algum problema nele. Coloque aqui para podermos analisar.
avatar
Data de inscrição : 21/01/2011
Número de Mensagens : 56
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Dom 23 Jan 2011, 10:07
if keyboard_check(vk_left)//se a tecla da seta para a esquerda for apertada
{
x-=5//diminui 5 x, ou seja,vai 5 pixels para a esquerda,e se "move"
}

if keyboard_check(vk_right)//se a tecka da seta para a esquerda for apertada
{
x+=5//almenta 5x,ou seja,vai 5 pixels para a direita,e se "move"
}
if place_free(x,y+1)//se estiver livre de colisoes 1 pixel abaixo
{
gravity=0.7// a gravidade é 0.7
}
else//senao
{
gravity=0// a gravidade é 0
}
if keyboard_check(vk_up) and !place_free(x,y+1)//se a tecla de seta para cima for apertada e nao estiver livre de colisoes 1 pixel abaixo
{
vspeed=-8// velocidade vertical é igual a -8
}

ATENÇÃO: ELE FOI COLOCADO NO EVENTO STEP

ah, mas se quiser eu posso passar o que deu todos aqueles codigos (gmk)

avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Dom 23 Jan 2011, 10:56
Que estranho... Não há nada no código que indique estar fazendo isso. Há a possibilidade de algum outro objeto ou outro evento estar fazendo isso. Dê uma checagem geral no seu projeto para ver se não há nada atrapalhando, e se o problema persistir, mande o gmk que eu averiguo.
avatar
Data de inscrição : 21/01/2011
Número de Mensagens : 56
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Dom 23 Jan 2011, 11:31
aqui está a gmk
Spoiler:
Data de inscrição : 20/12/2010
Número de Mensagens : 109
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] Pulo do personagem

em Dom 23 Jan 2011, 18:39
Já dei uma ajeitada nisso...

Tem aqui o link:
GMK ARRANJADO

EDIT: Esqueci-me de resolver outro dos bugs, quando você vira a sprite com image_xscale a origin também muda para o lado oposto o que causava aquele bug de quando mudar a direcção ir parar uns pxl mais à frente... Para resolver isso vá aos sprites e clique em center. Assim mesmo que mude a origin ficará no mesmo lugar ;)
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum