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
problema com pulo
3 participantes
Página 1 de 1
problema com pulo
Eu usei esse código para movimentação https://gmbr.forumeiros.com/t16270-tuto-a-melhor-movimentacao-em-plataforma-com-sprites#122693
Funcionou 99% bem, só tem um problema, quando eu pulo virado para a direita ele fica normal quando ta subindo, mas quando começa a cair a sprite muda para a esquerda mas quando cai no chão ele vira para a direita de novo.
Vou deixar o código de como está no meu:
No create:
image_speed=0.5;
parado=true;
andando=false;
noar=false;
lado=0;
No step:
if (place_free(x,y+1))
{gravity=0.5; noar=true;
} else
{gravity=0; noar=false;
}
//Definiões de pulo
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1))
{
vspeed=-9; noar=true; friction=0
}
if (vspeed>16)
vspeed=16;
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y))
{x-=5; lado=0; andando=true; parado=false
}
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y))
{x+=5; lado=1; andando=true; parado=false;
}
if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right))
{andando=false; parado=true;
//Sprites
if (noar==false)
{
if (andando=true) && (lado==1)
{
sprite_index=spr_heroi_correndo_right;
}
if (andando=true) && (lado==0)
{
sprite_index=spr_heroi_correndo_left;
}
if (andando==false) && (parado==true) && (lado==1)
{
sprite_index=spr_heroi_right;
}
if (andando==false) && (parado==true) && (lado==0)
sprite_index=spr_heroi_left;
}
}
else //Caso o personagem NÃO esteja com os pés no chão:
{
if (vspeed>0) || (vspeed<0) && (lado==1)
{
sprite_index=spr_heroi_pulando_right;
}
if (vspeed>0) || (vspeed<0) && (lado==0)
{
sprite_index=spr_heroi_pulando_left;
}
}
Funcionou 99% bem, só tem um problema, quando eu pulo virado para a direita ele fica normal quando ta subindo, mas quando começa a cair a sprite muda para a esquerda mas quando cai no chão ele vira para a direita de novo.
Vou deixar o código de como está no meu:
No create:
image_speed=0.5;
parado=true;
andando=false;
noar=false;
lado=0;
No step:
if (place_free(x,y+1))
{gravity=0.5; noar=true;
} else
{gravity=0; noar=false;
}
//Definiões de pulo
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1))
{
vspeed=-9; noar=true; friction=0
}
if (vspeed>16)
vspeed=16;
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y))
{x-=5; lado=0; andando=true; parado=false
}
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y))
{x+=5; lado=1; andando=true; parado=false;
}
if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right))
{andando=false; parado=true;
//Sprites
if (noar==false)
{
if (andando=true) && (lado==1)
{
sprite_index=spr_heroi_correndo_right;
}
if (andando=true) && (lado==0)
{
sprite_index=spr_heroi_correndo_left;
}
if (andando==false) && (parado==true) && (lado==1)
{
sprite_index=spr_heroi_right;
}
if (andando==false) && (parado==true) && (lado==0)
sprite_index=spr_heroi_left;
}
}
else //Caso o personagem NÃO esteja com os pés no chão:
{
if (vspeed>0) || (vspeed<0) && (lado==1)
{
sprite_index=spr_heroi_pulando_right;
}
if (vspeed>0) || (vspeed<0) && (lado==0)
{
sprite_index=spr_heroi_pulando_left;
}
}
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: problema com pulo
cara, acho que você está exagerando nos códigos atoa '-'
sinceramente não sou bom em entender código dos outros, mas façamos assim:
tira o create...
tira esse tanto de sprite.. você só precisa da sprite dele andando pra direita e dele pulando(virado pra direita)...
e no step:
agora explicando:
não precisa deste tanto de sprites cara, afinal, na sprite dele correndo normalmente no 1 frame ele ta parado, sendo apenas necessario mecher com o image_index, e quando a estar virado, você só precisa dele andando pra direita, já que o image_xscale se encarrega de virar ele pra você...
obs: fiz esse code de cabeça então se tiver algo errado fala ai que eu testo e concerto '-'
sinceramente não sou bom em entender código dos outros, mas façamos assim:
tira o create...
tira esse tanto de sprite.. você só precisa da sprite dele andando pra direita e dele pulando(virado pra direita)...
e no step:
- Código:
image_speed=0.3;
//gravidade
if place_free(x,y+2){gravity=0.3}else{gravity=0};
gravity_direction=270;
//andando
if keyboard_check(vk_left) and place_free(x-4,y){x-=4 image_xscale=-1;}else if keyboard_check(vk_right) and place_free(x+4,y){x+=4 image_xscale=1;}else{if vspeed=0{image_index=0}}
//pulando
if keyboard_check(vk_up) and vspeed=0{vspeed=-7}
if vspeed>16 then vspeed=16;
//definindo sprite
if vspeed=0{sprite_index=spr_player_andando}else{sprite_index=spr_player_pulando}
agora explicando:
não precisa deste tanto de sprites cara, afinal, na sprite dele correndo normalmente no 1 frame ele ta parado, sendo apenas necessario mecher com o image_index, e quando a estar virado, você só precisa dele andando pra direita, já que o image_xscale se encarrega de virar ele pra você...
obs: fiz esse code de cabeça então se tiver algo errado fala ai que eu testo e concerto '-'
makgamer- Games Ranking :
Notas recebidas : D
Data de inscrição : 29/03/2009
Reputação : 7
Número de Mensagens : 941
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Plataformas :- Game Maker 8.0 ou 8.1
- Game Maker Studio 2.0
- Unity
- Java
- C#
- Javascript
- RPG Maker
- C ou C++
- Outros
Re: problema com pulo
makgamer é que este código não é meu é do cara que pus o link ai, por isso esse tanto de coisa kk mas continuando, coloquei seu código e funcionou o movimento mas quando vou da esquerda para direita e direita para esquerda ele da um teleporte, o que eu faço?
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: problema com pulo
manobrother escreveu:makgamer é que este código não é meu é do cara que pus o link ai, por isso esse tanto de coisa kk mas continuando, coloquei seu código e funcionou o movimento mas quando vou da esquerda para direita e direita para esquerda ele da um teleporte, o que eu faço?
Desculpa a intromissão, vc Centralizou suas Sprites?
willyruduit- Games Ranking :
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Reputação : 33
Número de Mensagens : 306
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: problema com pulo
willy kkk vlw tinha esquecido dessa parada, mas tenho outro problema, pq quando eu paro de andar o sprite que fica é o um dos sprites de correr, nao o qual eu escolhi para ficar parado, sabe o que posso fazer?
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Re: problema com pulo
manobrother escreveu:mas tenho outro problema, pq quando eu paro de andar o sprite que fica é o um dos sprites de correr, nao o qual eu escolhi para ficar parado, sabe o que posso fazer?
Não entendi, ele fica andando ou em uma imagem errada?
se for uma imagem errada troque o image_index=? o ? pelo numero da imagem a ser usada!
willyruduit- Games Ranking :
Notas recebidas : B-B-B-A-A
Data de inscrição : 02/08/2013
Reputação : 33
Número de Mensagens : 306
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: problema com pulo
vlw makgamer e willy resolvi tudo aqui
manobrother- Data de inscrição : 31/10/2013
Reputação : 10
Número de Mensagens : 206
Prêmios :
x 0 x 0 x 0
x 0 x 1 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Problema de pulo
» [Dúvida] o sprite_index não muda
» Problema de Pulo
» [PROBLEMA] Pulo???
» problema no pulo do personagem
» [Dúvida] o sprite_index não muda
» Problema de Pulo
» [PROBLEMA] Pulo???
» problema no pulo do personagem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos