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
“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.
Para sabermos se esta no chão ou não, coloque isso: 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): 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: 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: 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!