Entrar
Últimos assuntos
» Retorno da GMBR!!!por theguitarmester Ter 19 Mar 2024, 22:38
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39
» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16
» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05
» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55
» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39
» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28
» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01
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
|
|