GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21


[Resolvido]o sprite do player caindo bugou

3 participantes

Ir para baixo

[Resolvido]o sprite do player caindo bugou Empty [Resolvido]o sprite do player caindo bugou

Mensagem por um cara ai Seg 22 Fev 2021, 18:34

estou criando um jogo plataforma e o meu player tem todo um sistema de movimentação e esta funcionando direitinho mas só tem uma coisa:
quando ele cai ele tem que mudar o sprite para o sprite dele caindo certo? E ele muda o sprite, só que ele não ta executando a animação
aqui olha quando ele ta caindo ele só fica no primeiro frame
[img]
e aqui estao os frames que ele devia realizar

[Resolvido]o sprite do player caindo bugou Coelin14
[Resolvido]o sprite do player caindo bugou Coelin15
[Resolvido]o sprite do player caindo bugou Coelin16

e aqui está o código

no create do player
Código:
spd = 4;
hspd = 0;
vspd = 0;
grv = 0.2;

no step do player
Código:
//controles

key_right = keyboard_check(ord("D"))
key_left = keyboard_check(ord("A"))
key_jump = keyboard_check(vk_space)

//movimentacao
var move = key_right - key_left

hspd = move * spd;

vspd = vspd + grv;
//virar pro lado

if (hspd != 0) image_xscale = sign(hspd);

//mudar sprites

  if (!place_meeting(x,y+1,obj_parede_chao))
    {
      sprite_index =spr_player_pulando;
      if(sign(vspd) > 0.5) sprite_index=spr_player_caindo; else sprite_index = spr_player_pulando;
     }else
     {
       if(hspd != 0 )
        {
          sprite_index = spr_player_correndo;
         }
      }
     if hspd =0
       {
         if place_meeting(x,y+1,obj_parede_chao)
          {
            sprite_index=spr_player_respirando;
           }
        }
      if hspd !=0 {
      if place_meeting(x,y+1,obj_parede_chao)
        {
          sprite_index= spr_player_correndo;
         }
     }
//colisao horizontal

if place_meeting(x+hspd,y,obj_parede_chao)
{
 while (!place_meeting(x+sign(hspd),y,obj_parede_chao))
  {
    x = x + sign(hspd);
   }
 hspd = 0;
}
 x = x + hspd;

//colisao vertical

if place_meeting(x,y+vspd,obj_parede_chao)
{
 while (!place_meeting(x,y+sign(vspd),obj_parede_chao))
  {
    y = y + sign(vspd);
   }
 vspd = 0;
}
 y = y + vspd;

//pulo

if place_meeting(x,y+1,obj_parede_chao) and key_jump
{
  vspd -=12; //se voce quiser pode mudar o 8 pra ele pular mais alto
}

alguém que teve saco pra ler isso tudo, pfvr pode me ajudar?


Última edição por um cara ai em Sáb 27 Fev 2021, 14:40, editado 1 vez(es)
um cara ai
um cara ai

Games Ranking : Sem avaliações

Data de inscrição : 21/02/2021
Reputação : 0
Número de Mensagens : 29
Prêmios : [Resolvido]o sprite do player caindo bugou Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

[Resolvido]o sprite do player caindo bugou Empty Re: [Resolvido]o sprite do player caindo bugou

Mensagem por aminaro Ter 23 Fev 2021, 09:53

Iai, blz?
Cara fiz um teste aqui com seu código e as animações estão funcionando normalmente.

tenta aumentar o fps do seu sprite pode ser q esteja muito baixo e não da tempo de animar antes de tocar no chão
aminaro
aminaro

Games Ranking : Nota D

Notas recebidas : D
Data de inscrição : 31/01/2014
Reputação : 66
Número de Mensagens : 159
Prêmios : [Resolvido]o sprite do player caindo bugou Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

[Resolvido]o sprite do player caindo bugou Empty Re: [Resolvido]o sprite do player caindo bugou

Mensagem por um cara ai Ter 23 Fev 2021, 12:54

ei @aminaro eu aumentei o fps e não funcionou .
um cara ai
um cara ai

Games Ranking : Sem avaliações

Data de inscrição : 21/02/2021
Reputação : 0
Número de Mensagens : 29
Prêmios : [Resolvido]o sprite do player caindo bugou Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

[Resolvido]o sprite do player caindo bugou Empty Re: [Resolvido]o sprite do player caindo bugou

Mensagem por PedroX Sáb 27 Fev 2021, 08:46

Neste trecho:
Código:
if (!place_meeting(x,y+1,obj_parede_chao))
    {
      sprite_index =spr_player_pulando;
      if(sign(vspd) > 0.5) sprite_index=spr_player_caindo; else sprite_index = spr_player_pulando;
    }

Você precisaria melhor essa "máquina de estados".
Por enquanto, isto deve bastar:
Código:
if (!place_meeting(x,y+1,obj_parede_chao))
    {
      if(sign(vspd) > 0.5) novo_sprite=spr_player_caindo; else novo_sprite = spr_player_pulando;
      if (sprite_index != novo_sprite) // o maior problema era ficar trocando o sprite, o que reinicia a animação em todo step
        sprite_index = novo_sprite;
     
    }

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : [Resolvido]o sprite do player caindo bugou Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

um cara ai gosta desta mensagem

Ir para o topo Ir para baixo

[Resolvido]o sprite do player caindo bugou Empty Re: [Resolvido]o sprite do player caindo bugou

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos