Animação de ações do Player

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

Resolvido Animação de ações do Player

Mensagem por †Des† em Dom 10 Abr 2011, 20:45

Eu ainda sou iniciante no GM quanto a várias coisas...
E recentemente estou tendo problemas com animação de ações do player...

Um exemplo é um simples soco, digamos que o soco tenha 6 frames de animação (onde o player prepara e executa o soco), eu quero saber como fazer pro player executar essa animação de soco e termine mostrando o ultimo frame (player em posição de ataque) por X tempo, entendem? A forma que eu tento fazer faz o personagem ficar repetindo a animação e nao "trava" no ultimo frame.



Última edição por †Des† em Qua 20 Abr 2011, 12:47, editado 1 vez(es)

†Des†

Número de Mensagens : 29
Idade : 23
Data de inscrição : 21/12/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por sonic luan em Dom 10 Abr 2011, 20:55

no create desse objeto coloca
Código:

soco=false
no evento de executar o soco coloca :
Código:

if image_index=6
{soco=true}
no evento step coloca:
Código:

if soco=true
{image_index=6
alarm[0]=10}
no alarme 0 :
Código:

soco=false
sprite_index=spr_player_parado
isso deve resolver

sonic luan

Ranking : Nota C
Número de Mensagens : 1003
Idade : 17
Data de inscrição : 28/01/2011
Notas recebidas : C-D-A-C
Reputação : 18
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://sonicmaker.forumeiros.com/memberlist

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por gustavo ferreira em Dom 10 Abr 2011, 21:12

vc pode fazer por troca de sprites ou por troca de objetos que eu particulamente acho mais facil tipo vc so prescisa criar um objeto chamado obj_player_batendo com o sprite do player batendo ae nesse objeto vc add um create e coloca
Código:
image_speed=0.25
ae vc add um event animation end e coloca assim
Código:
instance_destroy()
instance_create(x,y,obj_player_normal)
pronto nesse objeto é só, agora vc vai no objeto player normal ae add o event da tecla que faz o player bater e coloca assim
Código:
instance_destroy()
instance_create(x,y,objeto_player_batendo
ae pronto seu player executa toda a ação do soco. espero ter ajudado XD!!

gustavo ferreira

Ranking : Nota C
Número de Mensagens : 470
Idade : 22
Data de inscrição : 03/12/2010
Notas recebidas : C+C+C+C
Reputação : 28
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Super Games em Seg 11 Abr 2011, 08:56

Simples, é só fazer:
Código:
sprite_index=sprite do soco
sleep=100
{
sprite_index=sprite normal
}
Não testei, mas creio que funcionará, caso o Sleep saia errado, avise, creio que poderei ajudar.


Espero ter ajudado...

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por †Des† em Ter 12 Abr 2011, 22:11

Obrigado pela ajuda pessoal, mas ainda não to conseguindo fazer funcionar =(
O soco é executado mas o sprite nao para no frame final, e continua dando loop na animação de soco.

†Des†

Número de Mensagens : 29
Idade : 23
Data de inscrição : 21/12/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Utakata em Ter 12 Abr 2011, 22:37

Cara vc pode usar uma engine aki do kevin:
http://gmbr.forumeiros.com/t7924-combo-e-hits-basicos-iniciante?highlight=combo

Espero ter ajudado...

Té+ flw

Utakata

Ranking : Nota D
Número de Mensagens : 252
Idade : 18
Data de inscrição : 03/03/2011
Notas recebidas : C+D+D+D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Shadow10 em Ter 12 Abr 2011, 23:57

Adicona o evento animation end e coloca isso lá:
Código:
if floor = true{ //se ele estiver no chão
sprite_index = spr_parado; //quando a animação parar, volta pro estado inicial (parado)
}

No create do player:
Código:
floor = true; //indica que o player esta no chão
soco = false; //variavel de soco falsa até que seja dado um comando

E pro step você pode fazer mais ou menos assim:
Código:
if keyboard_chek(ord("A")){ //se a tecla A for pressionada
soco = true //a variavel soco se torna verdadeira
sprite_index = spr_soco; //o sprite de soco é exibido
}

Isso deve resolver seu problema.

Shadow10

Ranking : Nota C
Número de Mensagens : 429
Data de inscrição : 07/11/2010
Notas recebidas : C
Reputação : 19
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por †Des† em Qua 13 Abr 2011, 11:21

@Utakata: vo da uma olhada no topico e na engine, vlw pela dica!

@Todos: o problema de executar o soco em si já esta OK, mas o que ainda não esta certo, é que o char nao para na posição do ultimo frame...ele da o loop da animação até que o tempo da ação acabe, o que falta é essa parada no ultimo frame para que o sprite fique na posição final do soco por x frames, e depois voltar ao normal...

mais uma vez obrigado pela ajuda pessoal.

†Des†

Número de Mensagens : 29
Idade : 23
Data de inscrição : 21/12/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Willy em Qua 13 Abr 2011, 11:47

Coloca assim no animation end:
Código:
if sprite_index=spr_soco{
//Comandos para faze-lo voltar ao normal.
}
Recomendo que use uma variavel para saber se esta dando um soco ou não.

Espero que isso ajude. Qualquer coisa, eu posto uma engine que fiz a alguns dias aqui.
blz

___________


Engines, tutoriais e projetos? Clique no banner!



Atenção:
Comporte-se, senão você vai levar a cintada do Willy no meio da bunda! bravo


Willy

Ranking : Nota A
Número de Mensagens : 1812
Idade : 23
Data de inscrição : 08/06/2009
Notas recebidas : C + B + A + A
Reputação : 245
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://willy-gmbr.blogspot.com/

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por †Des† em Qua 13 Abr 2011, 12:49

Ainda não ta dando...vo posta a engine que eu to usando pra teste pra vocês darem uma olhada:

seque o link teste7.gmk

†Des†

Número de Mensagens : 29
Idade : 23
Data de inscrição : 21/12/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Super Games em Qua 13 Abr 2011, 21:42

Bem colega, pelo que vejo em sua engine, seu caso é fácil, faz o seguinte, pesquise no fórum por Hold, você encontrará uma engine minha que faz está ação sem problemas, ok?


Espero ter ajudado...

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por †Des† em Qui 14 Abr 2011, 11:54

Acho que vocês não estão entendendo exatamente o problema atual...
A parte de dar um soco e voltar ao normal está OK

O problema é o LOOP da animação de soco que fica ocorrendo até o tempo acabar, eu quero que esse LOOP não se repita e o sprite apenas execute a animação uma vez e trave no ultimo frame(posição de ataque), pra depois voltar ao normal(posição normal).

†Des†

Número de Mensagens : 29
Idade : 23
Data de inscrição : 21/12/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Mannoroth em Qui 14 Abr 2011, 12:45

No sprite do soco, pega a última imagem e copia ela(e vai colando em frente a ela), o tanto de copias equivalerá ao tempo q vc quer q 'trave' a ultima imagem. Ou seja, as imagens 3,4,5,6 etc são uma cópia da imagem 2(no caso da sua engine ae). No objeto do player, bota no event 'Animation end'(que fica em 'Other') o code:
Código:
if sprite_index=spr_soco sprite_index=spr_parado
Tira aquele alarm e os outros codigos do step pq nao precisa, botando só esse no step:
Código:

if (keyboard_check_pressed(ord('Z'))) {
sprite_index=spr_ataque
}
Isso vai resolver como você quer.
Vc nao precisa nem da variavel global.ataque, podendo apagá-la.

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Mr. Kaleb em Qui 14 Abr 2011, 15:46

Aff vamo esclarecer tudo. Primeiro, vamos dizer que a sprite do soco tenha 10 subimagens, contando com o 0, sendo a ultima a do soco? Certo.

Defina uma variável no Create:
Código:
imagem_soco=false

Crie um Alarm > Alarm 0 e defina uma condição:
Código:
image_index=9 //pois conta com a 1º, que é a de numero zero

Dps vá no Step e coloque esse código:
Código:
if keyboard_check(ord('A'))
{
sprite_index=spr_soco
}

if sprite_index=spr_soco
{
if image_index=9
{
alarm[0]=150
image_soco=true
}

Vê aí se funciona.

Mr. Kaleb

Ranking : Nota C
Número de Mensagens : 1400
Idade : 19
Data de inscrição : 07/09/2010
Notas recebidas : C
Reputação : 21
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por †Des† em Qui 14 Abr 2011, 22:19

@Mannoroth: até ja pensei nessa forma, mas isso seria mais uma gambiarra doq uma solução...

@The Games Never Finish: Deu nao...ele repete a animação de qualquer forma, e nem para mais '-'

Poxa...uma coisa que parece simples ta tao complicada pra mim resolver =(

†Des†

Número de Mensagens : 29
Idade : 23
Data de inscrição : 21/12/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Mannoroth em Qui 14 Abr 2011, 22:31

†Des† escreveu:@Mannoroth: até ja pensei nessa forma, mas isso seria mais uma gambiarra doq uma solução...
Do que que vc tá falando? q comentário sem sentido. acho q vc nao quer uma soluçao entao.
aqui a engine alterada como eu disse:
http://www.2shared.com/file/75pDUXuB/teste7consertado.html


Última edição por Mannoroth em Qui 14 Abr 2011, 22:42, editado 1 vez(es)

Mannoroth

Ranking : Nota D
Número de Mensagens : 836
Idade : 26
Data de inscrição : 05/10/2010
Notas recebidas : D+D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por vinians em Qui 14 Abr 2011, 22:40

Amigão, dei um edit na sua engine. Ficou bem facil agora e está funcionando corretamente. Veja Engine
Pra aumentar o tempo de exposição, apenas adicione uma imagem ao final do sprite do soco.
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por †Des† em Qui 14 Abr 2011, 23:00

@Mannoroth: Realmente me desculpe pela minha ignorancia, eu não havia testado essa sua forma diretamente(so disse que tinha pensado nela tbm), mas antes de ver essa sua engine alterada eu tentei algo parecido e acabou por dar certo.

Ainda nao olhei sua engine, mas deve ser algo parecido:

teste7.gmk

Desculpe novamente, e todos...obrigado pela ajuda, acho que agora ta tudo OK

†Des†

Número de Mensagens : 29
Idade : 23
Data de inscrição : 21/12/2008
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: Animação de ações do Player

Mensagem por Conteúdo patrocinado Hoje à(s) 22:13


Conteúdo patrocinado


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