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.

alguem me ajuda

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
melhorq1
Novato
Novato
Reações: 0
Mensagens: 1

alguem me ajuda

Mensagem por melhorq1 » Sex Jul 29, 2022 8:06 pm

Alguém ai sabe o porque de o meu personagem não pular?
// ANDAR
move = -keyboard_check(vk_left) + keyboard_check(vk_right)
hsp = move * spd

//COLISAO
if place_meeting(x + hsp, y, obj_block)
{
while !place_meeting(x + sign(hsp), y, obj_block)
{
x += sign(hsp)
}
hsp = 0
}

x += hsp

if place_meeting(x, y + vsp, obj_block)
{
while !place_meeting(x, y + sign(vsp), obj_block)
{
y += sign(vsp)
}
vsp = 0
}

y += vsp
//PULO
if place_meeting(x, y + 1, obj_block)
{
vsp = jspd
}

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 621
Localização: Dourados-MS

Contato:

Re: alguem me ajuda

Mensagem por All-x » Ter Ago 02, 2022 8:47 am

Falta colocar a gravidade e colocar a condição da tecla para pular (coloquei espaço). Também falta uma ordem melhor no código. Ficaria assim:

Código: Selecionar todos

// ANDAR
move = -keyboard_check(vk_left) + keyboard_check(vk_right)
hsp = move * spd

// PULO
if place_meeting(x, y + 1, obj_block) and keyboard_check_pressed(vk_space)
{
    vsp = jspd
}

// GRAVIDADE
if place_meeting(x, y + 1, obj_block) == false 
{
    vsp += 1;
}

// COLISAO
if place_meeting(x + hsp, y, obj_block)
{
    while !place_meeting(x + sign(hsp), y, obj_block)
{
        x += sign(hsp)
    }
    hsp = 0
}

x += hsp

if place_meeting(x, y + vsp, obj_block)
{
    while !place_meeting(x, y + sign(vsp), obj_block)
{
        y += sign(vsp)
    }
    vsp = 0
}

y += vsp
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante