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 movimentação de personagem
3 participantes
Página 1 de 1
Problema com movimentação de personagem
Olá galera,
Estou com problemas na movimentação do meu personagem. Estou tentando criar uma movimentação mais complexa dos que as básicas para jogos em plataforma, tipo quero que meu personagem possa dar giro no ar quando estiver a uma certa altura e em alturas mais baixas ele apenas dê um pulo normal.
O principal problema é com a gravidade: quando aperto para cima ele dá um pulo muito alto e outras vezes ele sobe tão alto que desaparece da tela. Outra coisa é que se movimenta mal ou nem sem movimenta quando está em cima de um prédio.
Quem pude ajudar e mostrar os erros, segue os códigos usados:
Estou com problemas na movimentação do meu personagem. Estou tentando criar uma movimentação mais complexa dos que as básicas para jogos em plataforma, tipo quero que meu personagem possa dar giro no ar quando estiver a uma certa altura e em alturas mais baixas ele apenas dê um pulo normal.
O principal problema é com a gravidade: quando aperto para cima ele dá um pulo muito alto e outras vezes ele sobe tão alto que desaparece da tela. Outra coisa é que se movimenta mal ou nem sem movimenta quando está em cima de um prédio.
Quem pude ajudar e mostrar os erros, segue os códigos usados:
Evento create do personagem:
- Código:
parado_d = spr_player_parado_dir
parado_e = spr_player_parado_esq
agachado_d = spr_player_agachado_dir
agachado_e = spr_player_agachado_esq
andando_d = spr_player_andando_dir
andando_e = spr_player_andando_esq
correndo_d = spr_player_andando_dir
correndo_e = spr_player_andando_esq
pulando_d = spr_player_agachado_dir
pulando_e = spr_player_agachado_esq
subindo_d = spr_player_subindo_dir
subindo_e = spr_player_subindo_esq
giro_d = spr_player_agachado_dir
giro_e = spr_player_agachado_esq
image_index = 0
image_speed=0.2;
parado=true;
andando=false;
correndo=false;
noar=false;
giro_ar=false;
lado=1; //Para definir o lado do player 1=Dir; 0=Esq
vspeed=0;
gravity=0;
Evento step:
- Código:
if (place_free(x,y+1)<(y+5))
{gravity=0.5; noar=true;
if (place_free(x,y+5)>(y+1))
{gravity=0.3; giro_ar=true; noar=false;
} else
{gravity=0; noar=false; giro_ar=false;
}
//Definiões de pulo
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1) < (y+5))
{
vspeed=-5; noar=true; gravity=0.5;
}
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+5) > (y+1))
{
vspeed=-8; giro_ar=true; noar=false; gravity=0.3;
}
if (vspeed>12)
vspeed=12;
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-3,y))
{x-=3; lado=0; andando=true; parado=false;
}
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+3,y))
{x+=3; lado=1; andando=true; parado=false;
}
if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right))
{andando=false; parado=true;
}
//Sprites
if (noar==false)
if (giro_ar==false)
{
if (andando=true) && (lado==1)
{
sprite_index=andando_d;
}
if (andando=true) && (lado==0)
{
sprite_index=andando_e;
}
if (andando==false) && (parado==true) && (lado==1)
{
sprite_index=parado_d;
}
if (andando==false) && (parado==true) && (lado==0)
{
sprite_index=parado_e;
}
}
else
{
if (vspeed>0) || (vspeed<0) && (lado==1)
{
sprite_index=pulando_d;
}
if (vspeed>0) || (vspeed<0) && (lado==0)
{
sprite_index=pulando_e;
}}}
Re: Problema com movimentação de personagem
O gusba tá certo. Cara, porque você não põe o controle sensitivo? Tipo se eu apertar mais tempo a tecla o personagem pula mais alto. Acho que fica melhor...
M.A.S.- Data de inscrição : 03/01/2009
Reputação : 0
Número de Mensagens : 377
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» movimentacão do personagem
» Movimentação do personagem
» Movimentação de personagem
» Movimentação do personagem
» [RESOLVIDO] Bug na movimentação do personagem
» Movimentação do personagem
» Movimentação de personagem
» Movimentação do personagem
» [RESOLVIDO] Bug na movimentação do personagem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos