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.

personagem preso

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
foogles66
Membro
Membro
Reações: 0
Mensagens: 42

personagem preso

Mensagem por foogles66 » Sex Jul 29, 2016 1:02 pm

Olá, estou fazendo um game RPG com visão de cima. e está acontecendo o seguinte problema:
Quando o objeto do personagem bate na parede, o personagem só sai da parede se ele for para trás, e se eu tento ir para os lados com o botão de ir para frente ao mesmo tempo, ele fica preso e não sai do lugar a não ser que eu solte o botão de ir para frente.
Queria que quando ele batesse na parede, o botão de ir para os lados tivesse preferencia para o personagem sair enquanto o botão de ir pra frente esta pressionado junto 
 Código que eu usei para os controles do personagem:
 

Código: Selecionar todos

esquerda = keyboard_check(vk_left);
direita = keyboard_check(vk_right);
cima = keyboard_check(vk_up);
baixo = keyboard_check(vk_down);

if esquerda == true
{
    x -= velocidadex;
    sprite_index = spr_pers_andando_lado;
    image_speed = 0.2;
    image_xscale = -1;
    lado_andado = 1;
}

if direita == true
{
    x += velocidadex;
    sprite_index = spr_pers_andando_lado;
    image_speed = 0.2;
    image_xscale = 1;
    lado_andado = 0;
}

if cima == true
{
    y -= velocidadey;
    sprite_index = spr_pers_andando_cima;
    image_speed = 0.2;
    lado_andado = 2;
}

if baixo == true
{
    y += velocidadey;
    sprite_index = spr_pers_andando_baixo;
    image_speed = 0.2;
    lado_andado = 3;
}

if esquerda == false and direita == false and cima == false and baixo == false
{
   if lado_andado == 0
    {
      sprite_index = spr_pers_parado_lado;
      image_xscale = 1;
      image_speed = 0;
    }
   
   if lado_andado == 1
    {  
      sprite_index = spr_pers_parado_lado;
      image_xscale = -1;
      image_speed = 0;
    }
   
   if lado_andado == 2
    {
      sprite_index = spr_pers_parado_cima;
      image_speed = 0;
    }
    
   if lado_andado ==3
    {
      sprite_index = spr_pers_parado_baixo;
      image_speed = 0;
    }
}
Já mudei a mask do sprite também, mas não resolveu  :nervoso: eu to a muito tempo tentando arrumar isso e não consigo

Avatar do usuário
Dust
Membro
Membro
Reações: 0
Mensagens: 109
Localização: Santa Catarina

Re: personagem preso

Mensagem por Dust » Sáb Jul 30, 2016 10:43 am

Tente arrumar a origin da sprite, coloque em center, e a mask coloque como rectangle, e nao marque a box de separate collision masks, também deixe as sprites com o mesmo tamanho isso pode ajudar tbm. Talvez ajude, Flw!

Avatar do usuário
Superbomber
Programador
Programador
Reações: 0
Mensagens: 283
Localização: Natal-RN

Re: personagem preso

Mensagem por Superbomber » Sáb Jul 30, 2016 12:00 pm

Codigo confuso... o.O

Tente estudar ou utilizar a engine de movimento limpo do Uili: Movimento Limpo 2.0
E nada de fazer movimentos sujos. :v o negocio e ter um jogo limpo.
Flw :flw: 
Entrem neste link com o JavaScript desabilitado e vejam a mágica: https://tgmbrasil.com.br/?PageSpeed=n0script

Trancado

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes