Conectar-se
Quem está conectado
54 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 52 Visitantes

divin sphere, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 15/04/2014
Número de Mensagens : 2
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Sprite de pulo animado.

em Qui 01 Maio 2014, 14:13
Olá pessoal. Sou novo aqui no site e no aprendizado de game maker e me deparei com um problema. Quaro animar um sprite de pulo num jogo plataforma mas quando pulo a animação não acontece. Eu suspeito de que possa ser algo com relação à origem do sprite desalinhada [dando conflito quando colide com o solo], ou a condição que coloquei para o pulo. [variável no_chao].

Aki está o meu script:

CREATE
Código:
posicao = 0;
no_chao = false;
image_speed = 0.5;

Isso regula a velocidade do sprite parado quando ele é criado, declara a variável posição [que vai servir para verificar a direção do sprite quando solto o botão direcional para inserir o sprite na posição correta] e a variável no_chao que verifica se o player está no ar ou no solo.

COLISION
Código:
move_contact_solid(direction, 12);
vspeed = 0;

STEP
Código:
//gravidade
if(place_free(x, y + 3)){
    gravity = 1;
    no_chao = false;
}
else{
    gravity = 0;
    no_chao = true;
}

//limite de velocidade
if(vspeed > 20){
    vspeed = 20;
}

//pulo
if(keyboard_check(vk_up) and no_chao){
    vspeed = -14;
    sprite_index = spr_miku_pulando_R;
}

if(keyboard_check_released(vk_up)){
    vspeed = vspeed / 2;
}

//movimento
if(keyboard_check(vk_right) and place_free(x + 3, y)){
    x += 3;
    posicao = spr_miku_parada_R;
    sprite_index = spr_miku_andando_R;  
}
else if(keyboard_check(vk_left) and place_free(x - 3, y)){
    x -= 3;
    sprite_index = spr_miku_andando_L;
    posicao = spr_miku_parada_L;
}
else{
    sprite_index = posicao;
}

Tentei fazer trocar para o sprite de pulo no bloco do keyboard_check(vk_up) and no_chao. Mas não funciona pois esse bloco só eh executado se a variável no_chao for "false", ou seja, ao sair do chão o bloco é ignorado.

Estou sem ideias. Se alguém puder me dar uma luz, agradeço.

OBS:

1 - Os outros movimentos estão corretos;
2 - O sprite que estou usando é esse: Download da imagem do sprite
3 - Meu Projeto: Download do projeto

Agradeço desde já!  Happy
avatar
Data de inscrição : 11/04/2014
Número de Mensagens : 26
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Sprite de pulo animado.

em Sab 03 Maio 2014, 09:51
eae não sei se vai funcionar mas vc pode tentar assim
Código:
if(keyboard_check(vk_up) and (!no_chao)){
que tipo ae ele deveria ser usado assim
Código:
if(!keyboard_check(vk_up) and no_chao){
só que assim ele checaria se as duas ações são verdadeiras caso não sejam executa o código. na primeira ele deve checar se no_chao e falso..
não sei explicar direito.. o certo e que seria se as informações forem verdadeiras executa o código com akele ponto de exclamação ali ele inverte.

ei onde vc acha as sprites

to no trabalho quando chegar en casa eu olho como eu fiz no meu
avatar
Data de inscrição : 15/04/2014
Número de Mensagens : 2
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Re: Sprite de pulo animado.

em Dom 04 Maio 2014, 10:07
Blza, vou testar e depois posto aqui se deu resultado.

Esse da miku eu achei pelo google mesmo. ([nome_do_sprite] sprite)
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum