Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Animação de personagem

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
JaoCrater
Novato
Novato
Reações: 0
Mensagens: 3

Animação de personagem

Mensagem por JaoCrater » Sáb Nov 04, 2017 1:03 am

Oi sou novo nesse forum, bom...eu acho que eu já tive aqui antes mas não tenho certeza se foi em outro lugar

Eu estou tentando fazer um jogo de plataforma e eu tenho alguma experiencia com os comandos, eu queria saber se tem como eu colocar uma animação de pulo no meu personagem só usando comandos, já vi um cara fazer isso e ele ia mostrar um tutorial de como fazer mas parece que ele desistiu. Alguem pode me ajudar?

Avatar do usuário
SirPug
Novato
Novato
Reações: 0
Mensagens: 15

Re: Animação de personagem

Mensagem por SirPug » Sáb Fev 10, 2018 10:41 pm

Basicamente você deve ter uma parte de seu código dedicada a mudança de animação do personagem, ou seja, um código que verifica cada instância do personagem para ver se ele está andando, pulando, correndo, etc, e a partir disso decidir qual animação será desenhada na tela.

Espero ter ajudado, abraço.
Linguagens que já programei / programo:
C#, HTML, PHP, MySQL, Python e C.

Minhas paixões:
Programação, Pixel Art, Música, Design em geral.

Avatar do usuário
SnowPi
Novato
Novato
Reações: 0
Mensagens: 6

Re: Animação de personagem

Mensagem por SnowPi » Dom Fev 11, 2018 7:37 am

O que você precisa é ter um sprite diferente pra cada estado do jogador e, ao mudar esse estado, mudar o sprite_index do jogador.
Deixarei um exemplo:

Tenho dois sprites pro jogador. Um pra quando ele ta "parado" e um pra quando ele tá "pulando"
Imagem

No evento create do jogador, eu defino uma variável que vai armazenar o estado atual do jogador.

Código: Selecionar todos

/// Initialize
Estado = 'parado';
Ela começa dizendo que o jogador está parado.

No evento step do jogador, eu mudo o estado dele caso ele pressione a tecla espaço

Código: Selecionar todos

// Muda ação do jogador ao segurar espaço
if(keyboard_check(vk_space)) {
  Estado = 'pulando';
} else {
  Estado = 'parado';
}
E, logo abaixo, eu mudo o sprite_index do jogador dependendo do valor do Estado.

Código: Selecionar todos

// Checa ação do jogador e muda o sprite
switch(Estado) {
  case 'pulando': sprite_index = sprJump; break;
  case 'parado': sprite_index = sprIdle; break;
}
Como o SirPug falou, é bom você separar isso por que é algo bem extensivo à longo prazo. Geralmente se cria scripts pra cuidar dos sprites, nesse exemplo eu não o fiz pra não complicar mais do que precisava.

Espero que tenha ajudado o/
See ya.

Responder

Quem está online

Usuários navegando neste fórum: Ahrefs [Bot] e 3 visitantes