Agenda: Aula 4Revisão - Desenho de objetos 2D Revisão - Input Revisão - Audio com XACT Uso de Fontes no XNA... Arquitetura de um programa XNAAo se criar um projeto, são gerados dois arqu
Trang 1XNA Game Studio Express
Aula 4
Alexandre Santos Lobão
contato@AlexandreLobao.com
Trang 2Agenda: Aula 4
Revisão - Desenho de objetos 2D
Revisão - Input
Revisão - Audio com XACT
Uso de Fontes no XNA
Trang 3Revisão: XNA Framework
Application Model Content PipelineStarter Kits Código Conteúdo Componentes
Trang 4Arquitetura de um programa XNA
Ao se criar um projeto, são gerados dois arquivos:
Program.cs – Game1.run Game1.cs – com os métodos:
Initialize() LoadGraphicsContent() UnloadGraphicsContent() Chamados a cada game loop
Update(GameTime gameTime) Draw(GameTime gameTime)
Trang 5Desenho de objetos 2D
Na classe game 1:
private Texture2D textura;
private SpriteBatch Renderizador2D;
Trang 6Tratamento de input do usuário
Trang 7Uso de Audio com XACT
Para incluir um som no jogo:
1 Gerar o arquivo de som XACT
2 Incluir o arquivo no jogo
3 Utilizar o som via Content Pipeline
Trang 8Uso de Audio com XACT
1 Gerar o arquivo de som XACT
Arrastar sons do “Wave Bank” para o “Sound bank”
Setar propriedades do som a ser tocado (ex: “loop event” do evento “Play Wave”
Trang 9Uso de Audio com XACT
2 Incluir o arquivo no jogo
Da mesma forma como se incluem texturas
Trang 10Uso de Audio com XACT
3 Utilizar o som via Content Pipeline
Criação dos objetos
audioEngine = new AudioEngine("MySounds.xgs");
// Assume the default names for the wave and sound bank // To change these names, change properties in XACT
waveBank = new WaveBank(audioEngine, "Wave Bank.xwb");
soundBank = new SoundBank(audioEngine, "Sound Bank.xsb");base.Initialize();
}
Trang 11Uso de Audio com XACT
3 Utilizar o som via Content Pipeline
Gerar um efeito sonoro (som sem loop)
Trang 12Uso de Fontes no XNA
Para incluir um fontes no jogo:
1 Incluir novo item do tipo “SpriteFont”
2 Configurar parâmetros da fonte
3 Utilizar a fonte
Trang 131 Incluir novo item do tipo “SpriteFont”
Trang 142 Configurar parâmetros da fonte
Trang 16Fontes Customizadas no XNA
Para criar uma fonte customizada:
1 Criar textura com caracteres desejados
2 Inserir no projeto classe de apoio “Font.cs”
3 Utilizar a fonte
Trang 171 Criar textura com caracteres desejados
Por exemplo, para escrever “Teste de Colisão”, com sombras,
criar a textura:
TestdColiã
Trang 181 Criar textura com caracteres desejados
Dica: Não se limite a letras e números para
criar HUDs (Heads Up Displays)!
Trang 192 Classe de apoio “Font.cs”
private Texture2D TextureFont; private string Characters;
private int CharacterSpacing; private int CharacterWidth; private int CharacterHeight;
public void Draw(SpriteBatch batch, int x, int y, string digits)
int character = Characters.IndexOf(digits[i]); //Busca a posição da letra na textura
//Desenha a letra na posição corrente
batch.Draw( TextureFont, new Vector2(xPosition, (float)y),
new Rectangle(character * CharacterSpacing, 0, CharacterWidth, CharacterHeight),
Color.White);
}
//Move a posição corrente para a próxima letra
Position += (digits[i] == ',' || digits[i] == ':' || digits[i] == '.') ? CharacterWidth / 2 : CharacterWidth;
}
}
Trang 21Desafio: HUD textual
HUD = Informação de vida, energia, etc de um jogo
Pegar exemplo da aula 3
Incluir contador de “Vidas”
Decrementar a cada colisão Fechar a janela se = zero
Trang 22Perguntas?