Página 1 de 1

Animação de personagem

Enviado: Sáb Nov 04, 2017 1:03 am
por JaoCrater
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?

Re: Animação de personagem

Enviado: Sáb Fev 10, 2018 10:41 pm
por SirPug
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.

Re: Animação de personagem

Enviado: Dom Fev 11, 2018 7:37 am
por SnowPi
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.