[TUTORIAL] - Criando vários gráficos a partir de um único sprite/objeto

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Qualidade [TUTORIAL] - Criando vários gráficos a partir de um único sprite/objeto

Mensagem por Mr.Rafael em Sex 24 Jun 2011, 13:51

• Aprenda a usar vários gráficos para um objeto sem precisar criar um amontoado de sprites/clones para isso.
Sistema criado originalmente usando GM 8.0 Pro. As demais versões podem não ser tão favoráveis.
-
INTRODUÇÃO:

Você está pensando em criar um jogo grande? Diversificado, com uma boa variedade de cenários? Pois bem, acredito que você tenha o infeliz problema de criar sempre um sprite para cada tileset. Aliás, você cria um objeto para cada ambiente? Se sim, tenho uma solução bem simples: Por que não reduzir tudo a UM objeto e a UM sprite?

É aqui que vem o objetivo desse tutorial. Talvez esse metodo também seja um pouco cansativo, mas acredito que seja bem melhor do que ocupar espaço com um monte de objetos e tendo que ficar mudando todos eles sempre que for mudar um cenário na fase. Vamos começar!
-
CRIAÇÃO:

Para começar, vamos criar um novo projeto. A primeira coisa que fazemos quando vamos criar um jogo é pelo menos criar um sprite inicial. Nesse caso, vamos direto aos tilesets que iremos usar. Eis o primeiro:


Não, não fiz assim porque era só para fazer o tutorial... eu realmente usei isso em um projeto!

Ok... temos um sprite. Agora, ao invés de dar Ok e criar o próximo, você vai criar outro frame e desenhar o outro tileset ali. Vamos a isto:


É... até que esse ficou legal. Na verdade, continua a mesma porcaria, mas fazer o que? Não sei desenhar, mesmo...

Bem... aqui está o sprite, com um tileset a cada frame. No caso, eu criei apenas 2, visto que esse processo pode ser demorado, dependendo do número de tilesets necessários:


Por enquanto só usamos 1 sprite... e nele temos 2 tilesets.

Bem... depois disso, crie uma room e um objeto contendo esse sprite. Por enquanto deixe o objeto encostado, vá em Settings e clique em Creation code. Lá, coloque essa variável (ou então crie uma própria sendo ela global e igualada a exatamente 0):

Código:
global.gfx = 0;
/*------------------------------
Com esse sistema, você pode
criar vários gráficos a partir
de um único Sprite. Na edição
do Sprite, crie os tilesets
em cada Frame (EX.: Frame 0
é neve, no Frame 1 é grama).
Aí, no objeto, você define
em que Frame o sprite ficará
de acordo com o valor da
variável. Pode ser cansativo,
mas é bem melhor do que ocupar
espaço com objetos clonados.
------------------------------*/

Agora abra o objeto, e no evento Step, coloque isso:


Parece organizado, mas experimente criar mais um, ou dois...

No caso de você ter criado outra variável, apenas troque o "global.gfx" pela sua. Agora vamos explicar o que foi feito: O objeto vai mudar o frame do sprite de acordo com o valor dado a variável utilizada. Assim, se ela assumir valor 0, seu sprite irá parar e aparecer com sublimage/frame 0. Se for 1, ele assume sublimage/frame 1 e assim por diante. Lembre-se de colocar o valor speed sempre em 0, para que a imagem não ande.Talvez com isso você não possa mais criar tilesets animados, mas...

Não é obrigatório você colocá-lo no Step, mas caso o cenário venha a ter uma mudança "brusca", ele será mudado assim que a variável assumir outro valor. Também pode servir para o caso de você criar um Debug mode, como o que eu fiz para mostrar o resultado final.
-
RESULTADO FINAL:

Pronto, seu projeto está feito e agora você tem 2 tilesets em apenas UM sprite e UM objeto. Você cria um cenário inteiro usando apenas um tipo de tileset (no caso o que é exibido no modo de edição é sempre o frame 0), mas ao mudar o valor da variável, você pode transformá-lo em um ambiente completamente diferente. Um resultado semelhante a jogos mais antigos, onde criar um determinado tipo de inimigo em um outro cenário faz com que ele possa ter seus sprites bugados.

Blocos brancos (GFX 0):


Neve!

Certo, certo. Mas eu queria ver o outro bloco. Vou ter que voltar ao modo edição, trocar tudo e... EPA! Não precisa mais fazer isso, posso apenas mudar o valor da variável e ele mudará automaticamente!

Blocos verdes (GFX 1):


Floresta!

•- Tutorial criado por Mr.Rafael. (24/06/2011)
- Se for copiar, favor colocar os devidos créditos ao autor original.

o/

Mr.Rafael

Ranking : Nota A
Número de Mensagens : 383
Data de inscrição : 05/10/2010
Notas recebidas : A-C-B-A
Reputação : 57
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 2

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] - Criando vários gráficos a partir de um único sprite/objeto

Mensagem por Lauro em Sex 24 Jun 2011, 14:04

Puuuxa, esses dias estava pensando nisso, bem bolado, recomendo esse artigo.
Parabéns!

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] - Criando vários gráficos a partir de um único sprite/objeto

Mensagem por Mr.Rafael em Sex 24 Jun 2011, 14:20

Obrigado pelo comentário, Lauro. Quando estava pensando nisso, estava tendo um vídeo de Pokémon Red de GBC, aí vi que a cor dos cenários mudava. Quando eu estava testando uma engine que estava criando, quis criar outro cenário e, ao invés de clonar outro objeto, fiz com que um único tomasse o lugar de todos. Achei isso interessante e então resolvi compartilhá-lo aqui.

O problema pode ser na hora de adicionar mais tilesets, mas como eu me expressei no tutorial, acho isso bem melhor do que voltar ao modo edição e ficar catando objetos diferentes, sendo que assim eu posso criar tudo através de um só. Espero que venha a ser útil em alguma ocasião. sorrindo2

o/


Mr.Rafael

Ranking : Nota A
Número de Mensagens : 383
Data de inscrição : 05/10/2010
Notas recebidas : A-C-B-A
Reputação : 57
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 2

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] - Criando vários gráficos a partir de um único sprite/objeto

Mensagem por LCS em Sex 24 Jun 2011, 16:55

Bem legal o tutorial mas sprites diversificadas ao inves de só trocar a sub imagem fica muito mais fácil de programar, e não ocupa tanta memória assim.
Desse jeito até complica um pouco.
Mas o tutorial está ótimo, muito bem explicado, e de fácil entendimento, só acho que deveria explicar as libs de troca de sprites, porque dentro dela tem a opção de qual subimagem usar.
Mas enfim cara, muito bom tutorial continue sempre postando seus tutos para a comunidade crescer ainda mais.

flws!

LCS

Ranking : Nota A
Número de Mensagens : 1035
Idade : 21
Data de inscrição : 09/03/2010
Notas recebidas : A
Reputação : 43
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://www.www.ww.www

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] - Criando vários gráficos a partir de um único sprite/objeto

Mensagem por kinho77 em Qui 21 Jul 2011, 17:32

bem legal, para um jogo online por exemplo daria para colocar estações Inverno/Verão =D...

kinho77

Número de Mensagens : 10
Idade : 24
Data de inscrição : 08/07/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] - Criando vários gráficos a partir de um único sprite/objeto

Mensagem por Conteúdo patrocinado Hoje à(s) 06:50


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum