[Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

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

[Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Seg 16 Mar 2015, 22:48

Olá pessoal, sou meio noob e venho mais uma vez sanar minhas duvidas. Procurei no forum e não achei nada especifico então ai vai.

Gostaria que assim que a vida/saude do player chegasse a zero ele tivesse uma animação de morte (já criei os sprites para a morte) e depois desse a opção de resetar a fase.

Já criei a variável global health.
So que quando crio um if para mudar de sprite assim q zera a vida ele muda a sprite mas muito rapido e nao consigo ver a animação e alem disso depois continuo "vivo" com a animação do primeiro frame dos sprites morte parado.

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por Zero. em Seg 16 Mar 2015, 22:54

Em todos os outros códigos qur mexerem com a animação do jogador você deve por uma condição no caso health > 0 pra que elas parem de rodar quando ele estiver vicm vida. E você faz o código cm a condição contrária (health >= 0) e neste código você roda a animação da morte.

Zero.

Número de Mensagens : 1295
Idade : 20
Data de inscrição : 19/08/2010
Reputação : 47
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Seg 16 Mar 2015, 23:08

Ele mudou conforme eu pedi e não se movimentou mas mudou apenas pra uma subimagem das sprites de morte.

olha meu codigo

//morte
if health <=0{
sprite_index= spr_mage_death;
image_speed = 10;
}

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por theguitarmester em Ter 17 Mar 2015, 08:48

//morte
if health <=0{
sprite_index= spr_mage_death;
image_speed = 10;
}

affraid 10 é muitissississimo!


Esse número de velocidade para animação, me fez lembrar agora de quando eu comecei no GM, e, como não sabia como esse número funcionava, também colocava números altos como 2,3,5...


Mas voltando à pergunta e a um dos erros:


O image_speed, é a velocidade em quantos quadros/frames da sprites serão avançados a cada step, e, como a velocidade padrão do GameMaker é 30, quer dizer que se você colocou o image_speed como 10, quer dizer que você estará avançando um total de 10x30 imagens por segundo, ou seja, 300 imagens por segundo!


Para afins de 'cópcóle', coloque uma velocidade no image_speed de 0.1.


Outra coisa, acho bom que ao morrer, tenha algo que sete as informações só uma vez, ou seja, uma ação que acontecerá só uma vez após morrer. Em meus jogos, eu uso uma variável chamada morto, e quando ela é true, você não pode fazer os comandos de movimentação(ações dele vivo).

E o comando para morrer, segue essa lógica:


if vida < 0 {

morto=1
sprite_index=spr_morto
image_index=0
image_speed=0.25
}


Outra coisa que faltou foi definir a image_index como 0, para a animação começar do início, mas para isso precisa ser definido só uma vez, como na minha lógica  prática.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 20
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Ter 17 Mar 2015, 10:47

Nossa cara mesmo alterando o valor do image_speed ele continua não tendo animação. Simplesmente a primeira animação aparece e não acontece mais nada.

OBS: eu ainda não tentei criar a variavel morte conforme a sua dica.

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por Sewer Crawler em Ter 17 Mar 2015, 13:12

Vc não está usando "instance_destroy()" antes de mudar o sprite né?

Sewer Crawler

Número de Mensagens : 236
Idade : 23
Data de inscrição : 08/10/2014
Reputação : 27
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Ter 17 Mar 2015, 13:42

não. ai vai o codigo inteiro q está no STEP do meu personagem:

OBS: todas as variaveis já foram declaradas no Create.
OBS2: meu personagem está com um sistema de perder vida ao atira.

Código:
     
  //MOVIMENTAÇÃO
    if morte=0{//só executa se morte for falso - nao tiver mais vida
    if (keyboard_check(vk_up) and place_free(x,y-5))  { // se (apertar algo) e "não estiver vazio = executa o evento dentro do {}
     y-= 5;//movimentação
    sprite_index = spr_mage_up; //troca de sprite ao apertar
    image_speed = 0.5; //velocidade da troca de sprite
    }


    if (keyboard_check(vk_down) and place_free(x,y+5)) {
    y+= 5;
    sprite_index = spr_mage_down;
    image_speed = 0.5;
    }

    if (keyboard_check(vk_left) and place_free(x-5,y)) {
    x-= 5;
    sprite_index = spr_mage_left;
    image_speed = 0.5;
    }

    if (keyboard_check(vk_right) and place_free(x+5,y)) {
    x+= 5;
    sprite_index = spr_mage_right;
    image_speed = 0.5;
    }
 

        //SPRITE PARAR DE SE MOVIMENTAR APÓS SOLTAR BOTÃO PARA ANDAR
    if keyboard_check (vk_down) or keyboard_check (vk_up) or keyboard_check (vk_right) or keyboard_check (vk_left) = true  //Checa se algum direcional está sendo pressionado
    {
    image_speed=0.5 //A imagem do personagem se movimentará junto com ele
    }
     else //Se não...
    {
    image_speed =0 //O desenho do personagem ficará parado
    image_index =0 //e voltará para a primeira imagem
    }
    
}

//ATIRAR

//Direita

if keyboard_check_pressed(vk_space)
{
if sprite_index=spr_mage_right

{
health-=10 //perder vida ao atirar
with(instance_create(x,y-21,obj_power)){motion_set(0,20)}
}
}
 

//Esquerda
if keyboard_check_pressed(vk_space)
{
if sprite_index=spr_mage_left
{
health-=10
with(instance_create(x,y-16,obj_power)){motion_set(180,20)}
}
}

//Cima
if keyboard_check_pressed(vk_space)
{
if sprite_index=spr_mage_up
{
health-=10
with(instance_create(x-16,y-20,obj_power)){motion_set(90,20)}
}
}

//Baixo
if keyboard_check_pressed(vk_space)
{
if sprite_index=spr_mage_down
{
health-=10
with(instance_create(x-16,y-32,obj_power)){motion_set(270,20)}
}
}




   //ANIMAÇÃO DE MORTE
if morte =1{
    sprite_index=spr_mage_death
    image_speed =0.1
    image_index =0
    }    
    
 if health <= 0 {
    morte=1
    }

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por Wendryos em Ter 17 Mar 2015, 15:14

Olá Andreas.

Bom eu testei aqui e esse código funciona sem problema algum.

Código:
if health <=0{image_index=0;morte=1};                        
if morte=1{sprite_index=spr2 image_speed=0.4};

Outra coisa você pode adicionar um Animation End para que quando a animação chega ao fim acontece alguma coisa.

Crie um Event Animation End que fica lá em Other e coloque isso:

Código:
if sprite_index=spr_mage_death{game_restart()};

Wendryos

Ranking : Nota D
Número de Mensagens : 192
Data de inscrição : 21/04/2014
Notas recebidas : D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Ter 17 Mar 2015, 17:21

Olá amigo, obrigado pela ajuda, mas ainda não funcionou (pelo menos aqui)

Fiz exatamente conforme vc me informou mas o meu personagem só troca de sprite e fica na primeira subimagem parado. Ou seja não tem a animação dele morrendo, só aparece a primeira imagem do sprite de morte dele.

Adicionei o evento animated end junto ao codigo que voce me informou e nada aconteceu.

Será bug do meu GM?

Eu to achando q o codigo que faz o personagem andar e movimentar o sprite quando anda está influenciando no codigo de animação do mesmo, já que antes de eu criar a variavel "morte" e estipular para ele não andar enquanto estivesse "morto" eu apertava os botoes para ele andar e ele se movia e fazia as animações do sprite de morte dele (entendeu? é meio difice explicar aqui heheh)

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por Wendryos em Ter 17 Mar 2015, 17:29

Que versão é o seu GM? Se for o 8 me manda seu GMK que eu arrumo para você...

*************Edit


Olha Andreas será que se você tirar o if morte=0{} dá algum erro? Tenta assim por hora:

Código:
if health <=0{sprite_index=spr2 image_index=0 image_speed=0.4};

Wendryos

Ranking : Nota D
Número de Mensagens : 192
Data de inscrição : 21/04/2014
Notas recebidas : D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Ter 17 Mar 2015, 17:37

vou te mandar ai perai... esse codigo foi o primeiro q eu utilizei e deu na mesma.

O meu GM é o Studio v 1.4.1556

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por Wendryos em Ter 17 Mar 2015, 17:47

Olha Andreas eu tenho que fazer um trabalho agora, você pode enviar mas só poderei te entregar ele pronto ou hoje bem de noite ou só amanha.

E LEMBRANDO É GMK E NÃO GMZ OU GMX.

Wendryos

Ranking : Nota D
Número de Mensagens : 192
Data de inscrição : 21/04/2014
Notas recebidas : D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Ter 17 Mar 2015, 17:55

como eu crio um gmk? gmk não é só GM8?

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por Wendryos em Ter 17 Mar 2015, 18:00

É sim Andreas, infelizmente eu não tenho o GM:S.

Mas eu vou te enviar uma engine mais tarde com esse mesmo código seu ai. Ai é só você importar do seu GM:S ok?

Wendryos

Ranking : Nota D
Número de Mensagens : 192
Data de inscrição : 21/04/2014
Notas recebidas : D
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por aminaro em Ter 17 Mar 2015, 19:21

Tenta esse script

Código:
if(heath <=0){
    sprite_index = spr_mage_death; // aqui o sprite da morte  
    image_speed = 0.1; // velocidade vc regula
}

if(sprite_index == spr_mage_death){ //se tive a animacao da morte
    if(image_index >= 3){ //veja qual o ultimo frame da animacao
        image_index = 3; // se for igual o ultima ele fica no ultimo frame      
    }
}

Boa Sorte Laughing Laughing

aminaro

Ranking : Nota D
Número de Mensagens : 64
Idade : 24
Data de inscrição : 31/01/2014
Notas recebidas : D
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Qui 19 Mar 2015, 22:20

Infelizmente tambem não deu certo. mudou para a primeira subimagem do sprite da morte dele e ficou parada. E pior conseguir mover o personagem ao apertar os botoes.

OBS: enquanto movia o heroi dai sim a animação fluia. Será que o codigo de movimentação está influenciando?

Depois de um tempo se movendo com o sprite morte (que se animava se eu se movesse) ele volta para a sprite normal.

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por aminaro em Qui 19 Mar 2015, 22:44

Código:
if(heath <=0){
    sprite_index = spr_mage_death; // aqui o sprite da morte  
    image_speed = 0.1; // velocidade vc regula
    morte = 1;
}

if(sprite_index == spr_mage_death){ //se tive a animacao da morte
    if(image_index >= 3){ //veja qual o ultimo frame da animacao
        image_index = 3; // se for igual o ultima ele fica no ultimo frame      
    }
}

tenta agora.
esqueci de colocar a variavel morte.

obs:entra no editar do sprite e ver quantos frames possui.

aminaro

Ranking : Nota D
Número de Mensagens : 64
Idade : 24
Data de inscrição : 31/01/2014
Notas recebidas : D
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por ANDREASCRUST em Sex 20 Mar 2015, 17:04

CARA!!!! BRIGADÃO! DEU CERTO! MUITO OBRIGADO CARA!

FINALIZADO MINHA DUVIDA!

ANDREASCRUST

Número de Mensagens : 49
Idade : 23
Data de inscrição : 30/04/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por aminaro em Sex 20 Mar 2015, 22:01

Que bom que deu certo. Laughing Cool

aminaro

Ranking : Nota D
Número de Mensagens : 64
Idade : 24
Data de inscrição : 31/01/2014
Notas recebidas : D
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Resolvido]ANIMAÇÃO DE MORTE apos acabar a vida

Mensagem por Conteúdo patrocinado Hoje à(s) 02:00


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