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.

como faço pra alterar entre movimentos

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

Contato:

como faço pra alterar entre movimentos

Mensagem por nicoca » Qui Jun 23, 2016 8:46 pm

eu queria saber como faço pra alterar entre andar normal e andar rastejando eu fiz esse codigo que 'quase' funciono queria se alguem poderia revisa-lo e me dizer pq nao funciona (obs: ele bem grande )

Código: Selecionar todos

if place_free(x,y+2)
{gravity=1}
else
{gravity=0}

if rast = 1
{
    mask_index = player_parado;
    sprite_index = player_parado;
if keyboard_check_pressed(vk_left)
{hspeed-=2;
image_speed = 1.5;
sprite_index=player_andandoe_squerda;}

if keyboard_check_pressed(vk_right)
{hspeed+=2;
image_speed = 1.5;
sprite_index=player_andando_direita;}

if keyboard_check_released(vk_left)
{hspeed=0;
sprite_index=player_andandoe_squerda;
image_index=6;image_speed=0;}

if keyboard_check_released(vk_right)
{hspeed=0;
sprite_index=player_andando_direita;
image_index=6;image_speed=0;}
}
if rast = 2
{
    mask_index = player_rastejando_parado;
    sprite_index = player_rastejando_parado;
if keyboard_check_pressed(vk_left)
{hspeed-=2;
image_speed = 1.5;
sprite_index=player_rastejando_esquerda;}

if keyboard_check_pressed(vk_right)
{hspeed+=2;
image_speed = 1.5;
sprite_index=player_rastejando_esquerda;}

if keyboard_check_released(vk_left)
{hspeed=0;
sprite_index=player_rastejando_esquerda;
image_index=1;image_speed=0;}

if keyboard_check_released(vk_right)
{hspeed=0;
sprite_index=player_rastejando_direita;
image_index=1;image_speed=0;}
}
if rast = 1
{
  if keyboard_check_pressed(vk_control)
  {
    rast += 1;
  }
}
if rast = 2
{
  if keyboard_check_pressed(vk_control)
  {
    rast -= 1;
  }
}


if place_free(x,y-2)
{if sprite_index=pulo_player
{if hspeed=0
{sprite_index=player_parado}
else{sprite_index=player_andando_direita}}}


if place_free(x,y+2)
{sprite_index=pulo_player}

if (xprevious > x) {
image_xscale=-2}
else if (xprevious < x){
image_xscale=2
}
if not place_free(x+hspeed,y){ hspeed = 0 }

if keyboard_check_pressed(vk_up)
{if !place_free(x,y+2)
{vspeed=-15
sprite_index=pulo_player
}}

if sprite_index=pulo_player
{
  image_index= 3;
  image_speed= 0;
} 
 

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

Re: como faço pra alterar entre movimentos

Mensagem por Dust » Sex Jun 24, 2016 8:27 pm

Bem, isso é simples, da até mesmo para deixar muito mais curto esse seu código, vou deixar um exemplo de como fazer:

Código: Selecionar todos

if keyboard_check(vk_down) {abaixado=true;} else {abaixado=false}

if keyboard_check(vk_left) && abaixado=false or keyboard_check(vk_right) && abaixado=false {image_index=player_andando;}
if keybaord_check(vk_left) && abaixado=true or keyboard_check(vk_right) && abaixado=true {image_index=player_abaixado;}

if keyboard_check(vk_right) {x+=1; image_xscale=1;}
if keyboard_check(vk_left) {x-=1; image_xscale=-1;}

if keyboard_check(vk_nokey) {speed=0; abaixado=false;}
Então, viu como é simples? se vc apertar o botao para baixo ele ira ficar abaixado.
Use o image_xscale para nao precisar ficar criando diversas sprites como por exemplo, player_anda_dir, player_anda_esq.
Utilize isso como exemplo, modifique para se encaixar melhor no seu projeto.
Flw!

Responder

Quem está online

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