Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
21 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 20 Visitantes

Lighter

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

Problemas com animação de Sprite

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Problemas com animação de Sprite

Mensagem por Philippe Alves Lepletier em Qui 01 Mar 2012, 23:57

E ae galera, sou novo em desenvolvimento de jogos com game Maker e a pouco tempo peguei o 8.1 para aprender.
Estou fazendo um jogo relativamente simples. o Jogador tem que apertar ou para cima ou para baixo para fazer o personagem esqueivar de obistáculos.
O meu problema está sendo na animação de movimentação. O personagem fica andando sozinho, e se o jogador aperta para seta para cima, ele cresce e fica na posição do meio. se apertar para cima de novo ele cresce mais um pouco e fica em outra posição acima. Se o jogador aperta para baixo a mesma coisa acontece com ele decrescendo a sua posição.
O problema esta nas animações de transição entre essas posições. São 3 no total: em baixo, no meio, em cima. entre essas posições deveria acontecer uma animação de transição para ficar bonitinho o personagem se movendo entre as posições, só que ta bugando sinistro as animações. elas acontecem de vez em quando, e as vezes troca as animções!

vou colocar aqui o código do jogo para vocês verem como eu fiz:

===================================================================
//No evento step

if(indexDoEstado == 0){
estouEmBaixo = true;
estouNoMeio = false;
estouEmCima = false;
}

if(indexDoEstado == 1){
estouNoMeio = true;
estouEmBaixo = false;
estouEmCima = false;
}

if(indexDoEstado == 2){
estouEmBaixo = false;
estouNoMeio = false;
estouEmCima = true;
}

//troca de sprites

if(paraSprite != true){

if(indexDoEstado == 0)sprite_index = sp_PlayerMove; // toca a animação do personagem em baixo
if(indexDoEstado == 1)sprite_index = sp_PlayerMove1X;// toca a animação do personagem no meio
if(indexDoEstado == 2)sprite_index = sp_PlayerMove2X;// toca a animação do personagem em cima

}else{

if(indexDoEstado == 0){
sprite_index = sp_Drop1Xto0; //animação de transição entre ir do meio para baixo
if(image_index == 7){
sprite_index = sp_PlayerMove;
paraSprite = false;
}
}//fim indexEstado = 0

if(indexDoEstado == 1){
if(sprite_index == sp_PlayerMove){
sprite_index = sp_PlayerExtend1X; //animação de transição entre ir de baixo para o meio
if(image_index == 7){
sprite_index = sp_PlayerMove1X;
}
paraSprite = false;
}else{
if(sprite_index == sp_PlayerMove2X){
sprite_index = sp_Drop2XTo1X; //animação de transição entre ir de cima para o meio
if(image_index == 7){
sprite_index = sp_PlayerMove1X;
paraSprite = false;
}
}
}
}//Fim indexEstado = 1

if(indexDoEstado == 2){
sprite_index = sp_PlayerExtend2x; //animação de transição entre ir do meio para cima
if(image_index == 7){
sprite_index = sp_PlayerMove2X;
paraSprite = false;
}

}//Fim indexEstado = 2
}//fim do if paraSprite

==========================================================================


Aqui está os eventos de teclado, o Up é o mesmo que o Down só que um soma a variável indexDoEstado e o outro subitrai:




avatar
Philippe Alves Lepletier

Data de inscrição : 24/11/2010
Número de Mensagens : 5
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Problemas com animação de Sprite

Mensagem por Thyago em Sex 02 Mar 2012, 01:44

.Cara acho que você usa muitas linhas desnecessarias,me perdi no seu código,veja.
Isso:


Código:
if(indexDoEstado == 0){
estouEmBaixo = true;
estouNoMeio = false;
estouEmCima = false;
}

if(indexDoEstado == 1){
estouNoMeio = true;
estouEmBaixo = false;
estouEmCima = false;
}

if(indexDoEstado == 2){
estouEmBaixo = false;
estouNoMeio = false;
estouEmCima = true;
}

faz o mesmo que isso;
Código:
estouEmBaixo =(indexDoEstado == 0)
estouNoMeio = (indexDoEstado == 1)
estouEmCima=(indexDoEstado == 2)
avatar
Thyago

Ranking : Nota B
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Número de Mensagens : 1092
Insígnias de JAM :

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

Prêmios
   : 1
   : 1
   :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Problemas com animação de Sprite

Mensagem por Philippe Alves Lepletier em Sex 02 Mar 2012, 01:54

Blz, é q ainda to me acostumadno com essa linguagem dele. vou tentar enxugar aqui dessa forma.

Eu estava aqui testando e tentei de tudo...tentei colocar esse código de troca dos sprites no end stemp, tentei fazer a troca por tempo com alarm[] e nada. parece q ele passa por cima das animações de transição e as vezes não...é bizarro!
avatar
Philippe Alves Lepletier

Data de inscrição : 24/11/2010
Número de Mensagens : 5
Insígnias de JAM :

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

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum