Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
problema com o codigo
- pombodarua
- Novato
- Reações: 0
- Mensagens: 1
problema com o codigo
ola eu estava fazendo um codigo para jogo de plataforma e quando terminei a colisão e movimento deu erro algum poderia falar qual foi o erro?
no Obj_player eu fiz um create;
///variaveis inicial
grav = 0.2;
hsp = 0;
vsp = 0;
jumpspeed = 7;
movespeed = 4;
e um step/step;
//controle
key_right = keyboard_check(vk_right);
key_left = -keyboard_check(vk_left);
key_jump = keyboard_check(vk_space);
//reação ao controle
move = key_left + key_right;
hsp = move * movespeed;
if (vsp < 10) vsp += grav;
if (place_meeting(x,y+1,obj_chao));
{
vsp = key_jump * -jumpspeed
}
//colisão horizontal
if (place_meeting(x+hsp,y,obj_chao))
{
while(!place_meeting(x+sign(hsp),y,obj_chao))
{
x += sign(hsp);
}
hsp = 0
}
x += hsp;
//colisão vertical
if (place_meeting(x,y+vsp,obj_chao))
{
while(!place_meeting(x,y+sign(vsp),obj_chao))
{
y += sign(vsp);
}
vsp = 0
}
y += vsp;
no Obj_player eu fiz um create;
///variaveis inicial
grav = 0.2;
hsp = 0;
vsp = 0;
jumpspeed = 7;
movespeed = 4;
e um step/step;
//controle
key_right = keyboard_check(vk_right);
key_left = -keyboard_check(vk_left);
key_jump = keyboard_check(vk_space);
//reação ao controle
move = key_left + key_right;
hsp = move * movespeed;
if (vsp < 10) vsp += grav;
if (place_meeting(x,y+1,obj_chao));
{
vsp = key_jump * -jumpspeed
}
//colisão horizontal
if (place_meeting(x+hsp,y,obj_chao))
{
while(!place_meeting(x+sign(hsp),y,obj_chao))
{
x += sign(hsp);
}
hsp = 0
}
x += hsp;
//colisão vertical
if (place_meeting(x,y+vsp,obj_chao))
{
while(!place_meeting(x,y+sign(vsp),obj_chao))
{
y += sign(vsp);
}
vsp = 0
}
y += vsp;
Re: problema com o codigo
Este código é do tutorial do Shaun Spalding não é? Provavelmente você esqueceu de colocar o yoffset da sprite da parede em 0 e o y offset da sprite do personagem em sprite_height, neste caso, abra a sprite e em Origin, coloque Y 0 na sprite da parede, e se o seu personagem tem 32x64, coloque no Y em origin 64. Abraço.
- Cheguevara
- Game Designer
- Reações: 0
- Mensagens: 44
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes