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.

[PROG] [TUTORIAL] Aprendendo a trocar de sprites! - Willy

Tutoriais, videoaulas, guias e downloads para te ajudar nos estudos.
Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Reações: 0
Mensagens: 110

[PROG] [TUTORIAL] Aprendendo a trocar de sprites! - Willy

Mensagem por Tutoriais & Aulas » Qui Abr 28, 2016 10:42 pm

Autor original: Willy
Nome: Aprendendo a Trocar de Sprites
Descrição: Aprenda a fazer a troca de sprites do seu personagem sem precisar criar vários objetos.
Dificuldade: Iniciante
Requerimentos: GM6 ou superior lite.

Introdução:
Um erro muito comum dos programadores é a troca de sprites dos personagens. Muitas vezes é visto em engines o uso incorreto de troca de sprites, trocando não a imagem, mas sim, o objeto. Essa é uma forma incorreta de trocar de sprites, pois deixa o sistema mais complexo e pesado. A maneira mais confiável e pratica de se fazer é com o uso das tão conhecidas variáveis.
Neste tutorial, irei ensinar a vocês a forma correta de trocar os sprites, nesse exemplo, teremos os movimentos básicos: Parado, andando e pulando.

Não irei criar um sistema de movimento, pois não será necessário no tutorial. 

lembre-se de centralizar o “x” dos sprites e colocar a mascara no objeto.

Precisaremos criar três variáveis, então, no create:

Código: Selecionar todos

direita=true
andando=false
chao=true
“direita” vai servir para identificarmos a direção do jogador (false = esquerda).
“andando” vai checar se esta andando ou parado.
“chao” serve para identificar se esta no chão ou não.

Agora, no step, vamos dizer em qual “condição” o jogador está, ou seja, que movimento ele está realizando.
SPOILER: Clique para ver o conteúdo
Para sabermos se esta no chão ou não, coloque isso:
SPOILER: Clique para ver o conteúdo
Você poderia colocar isso no seu código de gravidade, mas nesse caso, tente assim.
Pronto! Já temos as condições necessárias para fazer a troca de sprites.

Agora, vamos fazer a mágica acontecer, vamos fazer o personagem trocar de sprites!
No end_step (ou outro tipo de step, mas prefiro no end_step):
SPOILER: Clique para ver o conteúdo
O código acima, é feito para andar apenas para a DIREITA, sempre que for fazer seu código, faça apenas para a direita para não se confundir. Depois que a troca de sprites estiver funcionando PERFEITAMENTE, troque o ultimo “}” por “}else{“ e repita todo o código a partir de “If chao=true”, trocando apenas os nomes dos sprites. Se código deve ficar assim:
SPOILER: Clique para ver o conteúdo
PS: Não se esqueça de fechar o bloco com um “}”.

Pronto! Já está feito o seu sistema de troca de sprites. Esse é um sistema simples, mas você pode fazer um sistema bem mais complexo, como esse:
SPOILER: Clique para ver o conteúdo
Finalizo aqui este "pequeno grande" tutorial, você pode fazer sistemas da forma que quiser usando essa técnica. Dessa forma, seu game fica mais leve e controlável, sem a necessidade de criar milhares objetos para fazê-lo trocar de sprite (na verdade, não troca sprite, mas sim o objeto).

Espero que tenham gostado e entendido. Qualquer duvida, fiquem a vontade para perguntar.

Façam bom proveito!
:blz:

Responder

Quem está online

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