JaoCrater
Novato
Novato
Autor
Mensagens: 3
Registrado em: Sáb Nov 04, 2017 12:50 am
Karma: 5

Animação de personagem

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?

Tags:
 
Avatar do usuário
SirPug
Novato
Novato
Mensagens: 15
Registrado em: Sáb Fev 10, 2018 12:31 am
Karma: 26

Re: Animação de personagem

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.
1
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
Mensagens: 6
Registrado em: Dom Fev 11, 2018 5:00 am
Karma: 0

Re: Animação de personagem

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.
/// 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
// 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.
// 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.

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante