22

Animação 2D

  • Upload
    ted

  • View
    133

  • Download
    0

Embed Size (px)

DESCRIPTION

Animação 2D. Alexandre Tolstenko Nogueira [email protected] http://tolstenko.net. Sinopse. Apresentação Sprite Função SpriteBatch.Draw () Classe de Animação2D Automatizando nossa classe Referências Agradecimentos. 1. Apresentação. 2. Sprite. Definição : - PowerPoint PPT Presentation

Citation preview

Page 1: Animação  2D
Page 2: Animação  2D

Animação 2D

Alexandre Tolstenko [email protected]

http://tolstenko.net

Page 3: Animação  2D

Sinopse

1. Apresentação2. Sprite3. Função SpriteBatch.Draw()4. Classe de Animação2D5. Automatizando nossa classe6. Referências7. Agradecimentos

Page 4: Animação  2D

1. Apresentação

Page 5: Animação  2D

2. Sprite

• Definição: – Do latim spiritus, significando "duende", "fada“.

• Objetivo:– Simular objetos 2,5D ou 3D.

• Formatos usados:– Qualquer formato que possua transparência (ex.:

png)– Qualquer formato sem tranparencia, mas com um

fundo de cor fixa (ex.: jpg)

Page 6: Animação  2D

Transparente

Page 7: Animação  2D

Opaco

Page 8: Animação  2D

M-M-M-MONSTER KILL

Page 9: Animação  2D

2. Sprite

• Estranho?– Cadê o Link andando para a esquerda?

• Não Precisa!– Basta inverter ele andando para a direita.

Page 10: Animação  2D

2. Sprite

• Frame– É um quadro ou retâgulo do sprite que é exibido

como se fosse uma imagem independente.– É como se colocassemos um papel com um furo

retangular que cobrisse o sprite inteiro e movessemos esse papel sobre o sprite: • Veremos apenas aquilo que estiver dentro do quadro.• Se olharmos apenas para o quadro, e o mesmo saltar

em imagens sequenciais, veremos uma Animação2D!!!

Page 11: Animação  2D

2. Sprite

Page 12: Animação  2D
Page 13: Animação  2D

2. Sprite

• Quadros que andam

Page 14: Animação  2D

2. Sprite

• Funcionamento:1. A imagem inteira é carregada para a memória

na etapa de carregamento do jogo.2. Apenas um “Frame” da imagem é exibido por

vez.3. A cada X clocks do game, o quadro pula para

uma nova posição.

Page 15: Animação  2D

2. Sprite• Qual o melhor sprite? (Suponha que ambas tenham a mesma quantidade de frames)

– Para o programador?• Lembra dos quadros que andam?

– Para o cartucho?• A primeira figura é mais compacta e ocupa menos espaço nos cartuchos

Page 16: Animação  2D

3. SpriteBatch.Draw()

• É uma função com vários “overload”• Irei mostrar apenas um.– Tarefa de casa: conhecer os outros “overload”.

• Assinatura:– SpriteBatch.Draw(Texture2D, Rectangle,

Nullable<Rectangle>, Color)• Uso:– spriteBatch.Draw(spriteSheet, destinationRect,

sourceRect, Color.White);

Page 17: Animação  2D

3. SpriteBatch.Draw()

• Rectangle(X, Y, Width, Height)

(X,Y)

Width

Height

Page 18: Animação  2D

3. SpriteBatch.Draw()

• Vide projeto exemplo1.– Altere o valor do inteiro na linha 33: “int

spriteWidth = 64;” e veja o erro que ocorre.• Isso ocorrerá com muita frequencia

• Vide projeto exemplo1_mod.– Outro sprite com outra animação

• Vide Projeto exemplo1_mod2– Vide cor de transparencia definida para o branco

Page 19: Animação  2D

4. Classe de Animação 2D

• Vide projeto exemplo2.

Page 20: Animação  2D

5. Automatizando nossa Classe

• Vide projeto exemplo3.

Page 21: Animação  2D

6. Referências

• ShyGuy Kingdom• PlanetRenders• XNAfusion• MSDN

Page 22: Animação  2D

7. Agradecimento

spriteBatch.DrawString( Arial, "Obrigado Pela Atenção!", positionVect, Color.Black);