Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Dúvida sobre animações de sprites
4 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
Dúvida sobre animações de sprites
Oi pessoal, sei que é minha terceira dúvida seguida, quero até pedir desculpas se to sendo chato hehehe...
Mas nesse caso é questão de falta de conhecimento de comando mesmo, assim me fode legal...
Aqui é o video do youtube para vcs verem o meu problema:
Estou gostando de quase todas as animações do Diddy (a idéia é recriar o DK e chamar de DK4 sei lá), mas tem uma que está dando erro, é quando ele desce do pulo. Quando ele sobe dá certo, a animação roda legal, mas quando ele desce dá uns erros, tipo dá loop quando não deveria dar, as vezes começa do fim, muito estranho...
Aqui estão os códigos para quem puder ajudar:
Aqui as animações
Quanto aos sprites estão corretos, como podem ver o erro é pq a animação ja coeça do fim as vezes... tipo quando ele cai a animação deve iniciar e cabo, nada de loop... Quem puder ajudar fico extremamente grato pois so tenho 3 dias de GM
Mas nesse caso é questão de falta de conhecimento de comando mesmo, assim me fode legal...
Aqui é o video do youtube para vcs verem o meu problema:
Estou gostando de quase todas as animações do Diddy (a idéia é recriar o DK e chamar de DK4 sei lá), mas tem uma que está dando erro, é quando ele desce do pulo. Quando ele sobe dá certo, a animação roda legal, mas quando ele desce dá uns erros, tipo dá loop quando não deveria dar, as vezes começa do fim, muito estranho...
Aqui estão os códigos para quem puder ajudar:
- Código:
// CONTROLE DO PERSONAGEM
//para frente e para traz
if (keyboard_check(vk_right) and place_free(x+5,y) and global.obj_bola_vivo = true and abaixado = false and atacando = false){//verifica se a seta direita foi apertada e não esta abaixado e não esta atacando
hspeed = 5;direita = true;andando = true
}else{// se não foi
if (keyboard_check(vk_left) and place_free(x-5,y) and global.obj_bola_vivo = true and abaixado = false and atacando = false){ //verifica se a seta esquerda foi apertada e não esta abaixado e não esta atacando
hspeed = -5;direita = false ;andando = true
}else{// se não foi
hspeed = 0;andando = false
}
}
// abaixando
if keyboard_check(vk_down) and global.obj_bola_vivo = true {//se for apertado para baixo
abaixado = true
}else{//se não for
abaixado = false
}
//pulando
if keyboard_check_pressed(vk_up) and global.obj_bola_vivo = true and pe_no_chao = true and abaixado = false{//se for apertado para cima
vspeed = -12
pe_no_chao = false
}
//diminuindo velocidade do pulo
if keyboard_check_released(vk_up) and global.obj_bola_vivo = true and vspeed <= 0{//se for soltado para cima
vspeed /= 2
}
Aqui as animações
- Código:
// CONTROLE DE ANIMAÇÃO DO PERSONAGEM
if direita = true {//se para direita
if pe_no_chao = false{//se estiver pulando
if vspeed <= 0{//se estiver subindo
sprite_index = spr_dir_pul_sub
}else{//se estiver caindo
sprite_index = spr_dir_pul_cai
}
}else{//se nao estiver pulando
if abaixado = true{//se estiver baixo
sprite_index = spr_dir_aba
}else{//se não estiver para baixo
if atacando = true{//se estiver atacando
sprite_index = spr_dir_ata
}else{//se não estiver atacando
if andando = true{//se estiver andando
sprite_index = spr_dir_and
}else{//se não estiver andando
sprite_index = spr_dir_par
}
}
}
}
}else{//se não estiver para direta (para esquerda)
if pe_no_chao = false{//se estiver pulando
if vspeed <= 0{//se estiver subindo
sprite_index = spr_esq_pul_sub
}else{//se estiver caindo
sprite_index = spr_esq_pul_cai
}
}else{//se nao estiver pulando
if abaixado = true{//se estiver baixo
sprite_index = spr_esq_aba
}else{//se não estiver para baixo
if atacando = true{//se estiver atacando
sprite_index = spr_esq_ata
}else{//se não tiver atacando
if andando = true{//se estiver andando
sprite_index = spr_esq_and
}else{//se não estiver andando
sprite_index = spr_esq_par
}
}
}
}
Quanto aos sprites estão corretos, como podem ver o erro é pq a animação ja coeça do fim as vezes... tipo quando ele cai a animação deve iniciar e cabo, nada de loop... Quem puder ajudar fico extremamente grato pois so tenho 3 dias de GM
Re: Dúvida sobre animações de sprites
E ai blz? Eu num analizei muito seu código não pq agora não tenho tempo, mais pode ser o seguinte pela sua pergunta: Quando vc atribui um novo sprite usando sprite_index = sprite vc tem que reiniciar o image_index se quizer que a animação comece do inicio. Então coloque image_index = 0; em cada sprite_index = sprite. Deve funcionar.
Re: Dúvida sobre animações de sprites
estou tendo a mesma duvida do Anderson3d
porem meu código é diferente...
só que o problema é o mesmo
ele sempre da esse BUG qdo desce
e eu tentei usar o image_index=0
mas ele congela o sprite na subimage 0
realmente nao da mais o bug, porem nao rola toda a animação do gif
teria um comando que ordenasse a sequencia
ex: "image_index=0,1,2,3,4"etc... ?!
ai ele seguiria a sequencia e nao daria esse problema...
porem meu código é diferente...
só que o problema é o mesmo
ele sempre da esse BUG qdo desce
e eu tentei usar o image_index=0
mas ele congela o sprite na subimage 0
realmente nao da mais o bug, porem nao rola toda a animação do gif
teria um comando que ordenasse a sequencia
ex: "image_index=0,1,2,3,4"etc... ?!
ai ele seguiria a sequencia e nao daria esse problema...
Tirulink- Data de inscrição : 10/02/2009
Reputação : 0
Número de Mensagens : 17
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida sobre animações de sprites
vinians seguinte, como o tirulink falou o image_index = 0 trava um sprite, mas não é esse o problema, o que queremos é que a animação comece correta só isso, tipo sprite_index = spr_caindo, imagem =1
tipo, a animação spr_caindo começando com imagem 1... Sei que isso deve ser besteira, mas to em vários fóruns cutucando e não to conseguindo. Na maioria dos exemplos que acho os personagens tem poucos sprites ai fica mais fácil, o diddy tem 18 sprites pulando e caindo, ai fode...
tipo, a animação spr_caindo começando com imagem 1... Sei que isso deve ser besteira, mas to em vários fóruns cutucando e não to conseguindo. Na maioria dos exemplos que acho os personagens tem poucos sprites ai fica mais fácil, o diddy tem 18 sprites pulando e caindo, ai fode...
Re: Dúvida sobre animações de sprites
sabe na hora que vc checa se esta caindo? tira o <= e coloque <
Re: Dúvida sobre animações de sprites
eu ja fiz isso, acredito que e o Anderson tb, e nao deu certo...
isso parece um bug do programa .. haha
só ta faltando esse pequeno detalhe, que nao sabemos qual é!
isso parece um bug do programa .. haha
só ta faltando esse pequeno detalhe, que nao sabemos qual é!
Tirulink- Data de inscrição : 10/02/2009
Reputação : 0
Número de Mensagens : 17
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida sobre animações de sprites
pois é, tipo pelo que eu entendi o GM inicia uma animação, se ela nao terminar por completo, da proxima vez ela inicia de onde parou... Não acredito que isso seja bug pq já ta na versão 7 hehehe, deve faltar algum código aew, alguma coisa que faça a animação sempre começar do início...
Gusba eu fiz e tmb não deu certo, o problema esta na animação em sí... Ela simplesmente não inicia do início todas as vezes, só as vezes...
Gusba eu fiz e tmb não deu certo, o problema esta na animação em sí... Ela simplesmente não inicia do início todas as vezes, só as vezes...
Re: Dúvida sobre animações de sprites
se vc conseguir arrumar essa animação dele caindo eu digo que vc é o cara
perceba que o pulo as vezes fica perfeito, e as vezes da erro de sincronia nas imagens.. muito estranho...
http://www.badongo.com/file/13420134
perceba que o pulo as vezes fica perfeito, e as vezes da erro de sincronia nas imagens.. muito estranho...
http://www.badongo.com/file/13420134
Re: Dúvida sobre animações de sprites
bom eu tirei o comando de cortar a velocidade pela metade e realmente melhorou mas ainda da erro na sincronia, bem mais raro mas se vc perceber ainda da erro. E se tirar o código da cortar a velocidade o pulo fica sem controle de altura, ai fode...
nunca pensei que isso fosse tão complicado...
nunca pensei que isso fosse tão complicado...
Re: Dúvida sobre animações de sprites
Amigo no teste esse código aqui:
- Código:
// CONTROLE DE ANIMAÇÃO DO PERSONAGEM
if direita = true {//se para direita
if pe_no_chao = false{//se estiver pulando
if vspeed <= 0{//se estiver subindo
muda_sprite(spr_dir_pul_sub)
}else{//se estiver caindo
muda_sprite(spr_dir_pul_cai)
}
}else{//se nao estiver pulando
if abaixado = true{//se estiver baixo
muda_sprite(spr_dir_aba);
}else{//se não estiver para baixo
if atacando = true{//se estiver atacando
muda_sprite(spr_dir_ata)
}else{//se não estiver atacando
if andando = true{//se estiver andando
muda_sprite(spr_dir_and)
}else{//se não estiver andando
muda_sprite(spr_dir_par)
}
}
}
}
}else{//se não estiver para direta (para esquerda)
if pe_no_chao = false{//se estiver pulando
if vspeed <= 0{//se estiver subindo
muda_sprite(spr_esq_pul_sub)
}else{//se estiver caindo
muda_sprite(spr_esq_pul_cai)
}
}else{//se nao estiver pulando
if abaixado = true{//se estiver baixo
muda_sprite(spr_esq_aba)
}else{//se não estiver para baixo
if atacando = true{//se estiver atacando
muda_sprite(spr_esq_ata)
}else{//se não tiver atacando
if andando = true{//se estiver andando
muda_sprite(spr_esq_and)
}else{//se não estiver andando
muda_sprite(spr_esq_par)
}
}
}
}
}
- Código:
if (sprite_index != argument0)
{
sprite_index = argument0;
image_index = 0;
}
Re: Dúvida sobre animações de sprites
Vinian ainda não funcionou mas eu descobri o segredo de se controlar uma animação pra ela sempre começar do zero e depois fazer loops ou coisas parecidas, eis o código:
Quero agradecer a paciência de todos e agradescer a todos que ajudaram nesse codigo maluco hahaha (Vinians, Tirulink, Gusba, e ao Cris Spiegel da comunidade do Orkut!!!
obs: Pelo que ví ainda dá pra incrementar o controle de animações e loops dentro de animações usando laços FOR, WHILE, REPEAT e comandos como o event Animation end! mais sobre isso aqui:
https://gmbr.forumeiros.com/tutoriais-f9/gml-licao-extra-conceitos-basicos-t120.htm
Vlw!!!
- Código:
//COMANDO PARA PLAYER PULAR:
if keyboard_check_pressed(vk_up) and pe_no_chao = true and abaixado = false{//se for apertado para cima e ele estiver no choo
vspeed = -35
pe_no_chao = false
}
//diminuindo velocidade do pulo
if keyboard_check_released(vk_up) and vspeed <= 0{//se for soltado para cima
vspeed /= 2
}
//--------------------------------------
//CONTROLANDO A ANIMAÇÃO:
// temos 35 pontos de velocidade que devem ser divididos igualmente a cada sprite da animacao
// este exemplo tera 6 sprites para subir e 6 sprites para descer (35/6=5.8 velspeeds para usar)
if pe_no_chao = false{ //se estiver pulando
if vspeed <= 0{ //se estiver subindo
sprite_index = spr_pulando_subindo // animacao trocada para subindo
//controlando os sprites subindo
if vspeed <=0 and vspeed >= -5.8 {image_index=0;}
if vspeed <=-5.9 and vspeed >= -11.7 {image_index=1;}
if vspeed <=-11.8 and vspeed >= -17.6 {image_index=2;}
if vspeed <=-17.7 and vspeed >= -23.5 {image_index=3;}
if vspeed <=-23.6 and vspeed >= -29.4 {image_index=4;}
if vspeed <=-29.5 and vspeed >= -35 {image_index=5;} //fixa animacao aqui
}else{ //se estiver caindo
sprite_index = spr_pulando_caindo // animacao trocada para caindo
//controlando os sprites caindo
if vspeed > 0 and vspeed <= 5.8 {image_index=0;}
if vspeed >=-5.9 and vspeed <= 11.7 {image_index=1;}
if vspeed >=-11.8 and vspeed <= 17.6 {image_index=2;}
if vspeed >=-17.7 and vspeed <= 23.5 {image_index=3;}
if vspeed >=-23.6 and vspeed <= 29.4 {image_index=4;}
if vspeed >=-29.5 and vspeed <= 35 {image_index=5;} //fixa animacao aqui
}
//codigo leva em consideracao que o player sobe e desce na mesma velocidade (cont.)
// ...devido a gravidade.
Quero agradecer a paciência de todos e agradescer a todos que ajudaram nesse codigo maluco hahaha (Vinians, Tirulink, Gusba, e ao Cris Spiegel da comunidade do Orkut!!!
obs: Pelo que ví ainda dá pra incrementar o controle de animações e loops dentro de animações usando laços FOR, WHILE, REPEAT e comandos como o event Animation end! mais sobre isso aqui:
https://gmbr.forumeiros.com/tutoriais-f9/gml-licao-extra-conceitos-basicos-t120.htm
Vlw!!!
Re: Dúvida sobre animações de sprites
Opa, que bom que funcionou mais da pra fazer outra coisa ainda, que eu considero que seria o geito automático de ser fazer. O image_speed controla a mudança automática de sprites então ou seja se o image_speed for = 1 ele muda 1 frame a cada step, no caso seria ajusta-lo pra mudar de acordo com o que vc precisa. Tipo quantos steps gasta para vc andar os -35 dai é so dividir o 1 / numero_de_passos e colocar image_speed = 1 / numero_de_passos. Assim ficaria mais automático e é o jeito que o GM gosta
Re: Dúvida sobre animações de sprites
vinians ess emodo final que vc disse tmb dá certo, so que tem um pro.. como vou saber quantos passos são precisos para ele andar os -35????
Re: Dúvida sobre animações de sprites
O exemplo que vc tinha mandado o vspeed era setado pra -18, ai eu fui aumentando o image_speed até rodar a animação inteira. Comcei com image_speed = 0.1 e fui subindo. No caso de -35 (que na verdade eu acho muito ele deve ta pulando da altura de um predio é só ir testando pra descobrir
Re: Dúvida sobre animações de sprites
aaaa saquei... Massa então, tmb funciona...
Pessoal, a quem interessar testei por duas horas já aff (hehehehe)
o código final ficou assim:
A engine de pulo esta aqui testada e comprovada, a animação rola perfeita, controlada no cabresto!!! =P
http://www.badongo.com/file/13433453
vlw!!!
Pessoal, a quem interessar testei por duas horas já aff (hehehehe)
o código final ficou assim:
- Código:
//COMANDO PARA PLAYER PULAR:
if keyboard_check_pressed(vk_up) and pe_no_chao = true {//se for apertado para cima e ele estiver no choo
vspeed = -35
pe_no_chao = false
}
//diminuindo velocidade do pulo
if keyboard_check_released(vk_up) and vspeed <= 0{//se for soltado para cima
vspeed /= 2
}
//--------------------------------------
//CONTROLANDO A ANIMAÇÃO:
// temos 35 pontos de velocidade que devem ser divididos igualmente a cada sprite da animacao
// este exemplo tera 6 sprites para subir e 6 sprites para descer (35/6=5.8 velspeeds para usar)
if pe_no_chao = false{ //se estiver pulando
if vspeed <= 0{ //se estiver subindo
sprite_index = spr_pulando_subindo // animacao trocada para subindo
//controlando os sprites subindo
if vspeed < 0 and vspeed >= -5.8 {image_index=5;}
if vspeed <=-5.9 and vspeed >= -11.7 {image_index=4;}
if vspeed <=-11.8 and vspeed >= -17.6 {image_index=3;}
if vspeed <=-17.7 and vspeed >= -23.5 {image_index=2;}
if vspeed <=-23.6 and vspeed >= -29.4 {image_index=1;}
if vspeed <=-29.5 and vspeed >= -35 {image_index = 0;} //fixa animacao aqui
}else{ //se estiver caindo
sprite_index = spr_caindo // animacao trocada para caindo
//controlando os sprites caindo
if vspeed > 0 and vspeed <= 5.8 {image_index=0;}
if vspeed >=5.9 and vspeed <= 11.7 {image_index=1;}
if vspeed >=11.8 and vspeed <= 17.6 {image_index=2;}
if vspeed >=17.7 and vspeed <= 23.5 {image_index=3;}
if vspeed >=23.6 and vspeed <= 29.4 {image_index=4;}
if vspeed >=29.5 and vspeed <= 35 {image_index=5;} //fixa animacao aqui
}
}
global.vspeed_diddy = vspeed //captura a velocidade vertical
A engine de pulo esta aqui testada e comprovada, a animação rola perfeita, controlada no cabresto!!! =P
http://www.badongo.com/file/13433453
vlw!!!
Re: Dúvida sobre animações de sprites
Ai, parabéns pela persistência, e espero que o jogo fique pronto logo pra podermos testar ;)
Re: Dúvida sobre animações de sprites
quando eu tiver o engine pronto eu posto um video pra o pessoal ver no fórum de projetos! acho que em um mês ja devo ter alguma coisa pra msotrar... Não quero pecar em começar e não terminar nunca... Pode demorar um ano, mas um dia sai...
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Açoes e animações de Sprites
» DUVIDA SOBRE SPRITES
» [Resolvido]Duvida sobre sprites
» Dúvida sobre criação de sprites??
» [pedido]Sprites com animações
» DUVIDA SOBRE SPRITES
» [Resolvido]Duvida sobre sprites
» Dúvida sobre criação de sprites??
» [pedido]Sprites com animações
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos