Conectar-se
Quem está conectado
28 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 24 Visitantes

Katerp, PedroX, rafaelviodres1, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 11/01/2014
Número de Mensagens : 284
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Sprite não muda, quando personagem anda

em Dom 09 Fev 2014, 16:40
Estou fazendo um game, e estou com dificuldade na animação, gostaria que meu personagem tivesse  a seguinte animação ao andar:
http://i.picasion.com/pic76/fd8f4c2fc986db94fbe96234a39ab5ea.gif

O problema, é que quando apertamos direita e o personagem anda, ele não muda de sprite (a animação é composta por 2 sprites) porém quando ele para, ai sim ele muda de sprite, gostaria de saber se tem jeito de arrumar isso. Olhe os codigos:

Código:

//Step personagem
if global.personagem = true { //Se o personagem poder se movimentar
    if keyboard_check(vk_right) {  //Movimento direita
        if place_free(x+4, y) {
            sprite_index = pers_dir  //Usarei a animação do link
            x += global.velocidade
            image_speed = 5
        }
    } else if keyboard_check(vk_left) {  //Movimento esquerda
        if place_free(x-4, y) {
            sprite_index = pers_esq
            x -= global.velocidade
            image_speed = 5
        }
    } else {   //Parado
    image_speed = 0
    }

    if place_free(x,y+1) {   //Gravidade
        gravity=0.45;  
        noar=true;
    }else {
        gravity=0;  
        noar=false;
        global.pulo = 0
    }
    
    if keyboard_check_pressed(vk_up) && !place_free(x,y+1) && global.pulo < 3 {
    vspeed = -8
    global.pulo += 1
    }

} else {   //Se personagem for falso
    image_speed = 0  //A imagem não será animada
}



Última edição por vitorfernandes13 em Dom 09 Fev 2014, 16:49, editado 1 vez(es)
Data de inscrição : 08/11/2013
Número de Mensagens : 96
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite não muda, quando personagem anda

em Dom 09 Fev 2014, 16:46
tenta assim
Código:
//Step personagem
if global.personagem = true { //Se o personagem poder se movimentar
    if keyboard_check(vk_right) {  //Movimento direita
        if place_free(x+4, y) {
            sprite_index = pers_dir  //Usarei a animação do link
            x += global.velocidade
            image_speed = 5
        }
    } else if keyboard_check(vk_left) {  //Movimento esquerda
        if place_free(x-4, y) {
            sprite_index = pers_esq
            x -= global.velocidade
            image_speed = 5
        }
    } else {  //Parado
    image_index = 0
    }

    if place_free(x,y+1) {  //Gravidade
        gravity=0.45; 
        noar=true;
    }else {
        gravity=0; 
        noar=false;
        global.pulo = 0
    }
   
    if keyboard_check_pressed(vk_up) && !place_free(x,y+1) && global.pulo < 3 {
    vspeed = -8
    global.pulo += 1
    }

} else {  //Se personagem for falso
    image_index = 0  //A imagem não será animada
}
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 11/01/2014
Número de Mensagens : 284
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite não muda, quando personagem anda

em Dom 09 Fev 2014, 16:59
Quanto eu tiro o image_speed dá certo, so que a animação vai rápido de mais. Será que eu to colocando o image_speed no lugar errado??
--
Eu sou topeira mesmo, não é image_speed = 5, e sim image_speed = 0.5 para a imagem ir mais lenta   
Tópico RESOLVIDO


Última edição por vitorfernandes13 em Dom 09 Fev 2014, 17:04, editado 1 vez(es)
Data de inscrição : 08/11/2013
Número de Mensagens : 96
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Sprite não muda, quando personagem anda

em Dom 09 Fev 2014, 17:01
coloque no create
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/01/2013
Número de Mensagens : 128
Insígnias de JAM :

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

Re: Sprite não muda, quando personagem anda

em Dom 09 Fev 2014, 23:47
Eu sei que o tópico esta resolvido, mais só pra constar, na hora de criar um sistema de movimentação em que a animação só ocorre quando o player esta andando, é mais fácil usar isso ( em jogos de plataforma ):

No step do player

Código:

if keyboard_check(vk_right) and place_free(x+5,y){
x+= 5; // Anda 5 pixels a direita
image_speed = 0.5;// Velocidade da animação
image_xscale = 1;// Escala da imagem em x - 1 é normal e -1 é inveritda

 
}else if keyboard_check(vk_left) and place_free(x-5,y){
x-= 5; // Anda 5 pixels a direita
image_speed = 0.5;// Velocidade da animação
image_xscale = -1;// Escala da imagem em x - 1 é normal e -1 é inveritda
}else{
image_index = 0;
image_speed = 0;
}


Neste caso, você pode usar apenas uma sprite virada para a direita, pois o image_xscale vai tratar de vira-la para a esquerda na hora de andar para a esquerda!


Assim fica bem mais fácil!
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