Conectar-se
Quem está conectado
27 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 27 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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.
avatar
Data de inscrição : 19/08/2010
Número de Mensagens : 1299
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 47

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

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

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.
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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;
}
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 80

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

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

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.
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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.
avatar
Data de inscrição : 08/10/2014
Número de Mensagens : 236
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 27

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

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

em Ter 17 Mar 2015, 13:12
Vc não está usando "instance_destroy()" antes de mudar o sprite né?
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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
    }
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 12

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

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

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()};
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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)
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 12

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

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

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};
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 12

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

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

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.
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

em Ter 17 Mar 2015, 17:55
como eu crio um gmk? gmk não é só GM8?
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 21/04/2014
Número de Mensagens : 192
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 12

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

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

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?
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 31/01/2014
Número de Mensagens : 64
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

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

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

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
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 31/01/2014
Número de Mensagens : 64
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

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

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

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.
avatar
Data de inscrição : 30/04/2012
Número de Mensagens : 49
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

em Sex 20 Mar 2015, 17:04
CARA!!!! BRIGADÃO! DEU CERTO! MUITO OBRIGADO CARA!

FINALIZADO MINHA DUVIDA!
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 31/01/2014
Número de Mensagens : 64
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 9

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

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

em Sex 20 Mar 2015, 22:01
Que bom que deu certo. Laughing Cool
Conteúdo patrocinado

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

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