1. Trang chủ
  2. » Công Nghệ Thông Tin

XNA Game Studio Express Aula 4 pptx

22 300 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,37 MB

Nội dung

XNA Game Studio Express XNA Game Studio Express Aula 4 Aula 4 Uso de Uso de Fontes Fontes no XNA no XNA Alexandre Santos Lobão Alexandre Santos Lobão contato@AlexandreLobao.com contato@AlexandreLobao.com P P ó ó s s em em Desenvolvimento Desenvolvimento de de Jogos Jogos Eletrônicos Eletrônicos - - IESB IESB 2 Agenda: Aula 4 Agenda: Aula 4 Revisão Revisão - - Desenho Desenho de de objetos objetos 2D 2D Revisão Revisão - - Input Input Revisão Revisão - - Audio com XACT Audio com XACT Uso de Uso de Fontes Fontes no XNA no XNA Escrevendo Escrevendo com com SpriteFont SpriteFont Criando Criando uma uma fonte fonte customizada customizada 3 Revisão Revisão : XNA Framework : XNA Framework Plataforma Plataforma Core Core Framework Framework Extended Extended Framework Framework Games Games XACT XACT XINPUT XINPUT XContent XContent Direct3D Direct3D Graphics Graphics Audio Audio Input Input Math Math Storage Storage Application Model Application Model Content Pipeline Content Pipeline Starter Kits Starter Kits C C ó ó digo digo Conte Conte ú ú do do Componentes Componentes Legenda XNA Provides XNA Provides N N ó ó s s criamos criamos Comunidade Comunidade 4 Arquitetura Arquitetura de um de um programa programa XNA XNA Ao Ao se se criar criar um um projeto projeto , , são são gerados gerados dois dois arquivos 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) 5 Desenho Desenho de de objetos objetos 2D 2D Na classe game 1: private Texture2D textura; private SpriteBatch Renderizador2D; No Método LoadGraphicsContent: textura = content.Load<Texture2D>("xna_thumbnail"); Renderizador2D = new S priteBatch(graphics.GraphicsDevice); No Método UnloadGraphicsContent: textura.Dispose(); Renderizador2D.Dispose(); No Método Draw: Renderizador2D.Begin(SpriteBlendMode.AlphaBlend); Renderizador2D.Draw(textura, Vector2.One, Color.White); Renderizador2D.End(); 6 Tratamento Tratamento de input do de input do usu usu á á rio rio 1. Uso do GamePad GamePadState gamePad = GamePad.GetState(PlayerIndex.One); novaPosicao.Y -= gamePad.ThumbSticks.Left.Y; 2. Uso do Teclado KeyboardState keyboardState = Keyboard.GetState(); if (keyboardState.IsKeyDown(Keys.Up)) novaPosicao.Y -= 1; 3. Uso do Mouse MouseState mouse = Mouse.GetState(); novaPosicao.X = mouse.X; 7 Uso de Audio com XACT Uso 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 8 Uso de Audio com XACT Uso 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” 9 Uso de Audio com XACT Uso de Audio com XACT 2. Incluir o arquivo no jogo Da mesma forma como se incluem texturas 10 Uso de Audio com XACT Uso de Audio com XACT 3. Utilizar o som via Content Pipeline Criação dos objetos // Audio objects AudioEngine audioEngine; WaveBank waveBank; SoundBank soundBank; protected override void Initialize() { 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(); } [...]... criar a textura: TestdColiã 17 1 Criar textura com caracteres desejados Dica: Não se limite a letras e números para criar HUDs (Heads Up Displays)! 9876 543 210 Combustível = 012 345 6789 Velocidade = Vidas ou botão ativo (01) = 01 9876 543 210 Energia = 012 345 6789 Tipos de armas = 18 2 Classe de apoio “Font.cs” private Texture2D TextureFont; private string Characters; private int CharacterSpacing; private... 126, ('~'), covers the basic Latin character set > ~ 14 3 Utilizar a fonte Na classe Game1 .cs // Define a variável da fonte SpriteFont fonteArial; No método Initialize() // Inicializa a fonte, usando o nome do Asset no content Pipeline fonteArial = content.Load("FonteArial");... myLoopingSound.Resume(); else myLoopingSound.Pause(); 11 Uso 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 12 1 Incluir novo item do tipo “SpriteFont” 13 2 Configurar parâmetros da fonte ... content.Load("FonteArial"); No método Draw() mySpriteBatch.Begin(); mySpriteBatch.DrawString(fonteArial, “Hello World!", Vector2.One, Color.Yellow); mySpriteBatch.End(); 15 Fontes 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 16 1 Criar textura com caracteres desejados Por exemplo,... xmlns:Graphics="Microsoft .Xna. Framework.Content.Pipeline.Graphics"> Arial 14 2 Regular... Color.White); } //Move a posição corrente para a próxima letra Position += (digits[i] == ',' || digits[i] == ':' || digits[i] == '.') ? CharacterWidth / 2 : CharacterWidth; } } 19 3 Utilizar a fonte Na classe Game1 .cs // Define a variável da fonte Font CustomFont; No método Initialize() // Inicializa a fonte, informando a textura, os caracteres utilizados, espaçamento, largura e altura dos caracteres CustomFont... Draw() mySpriteBatch.Begin(); CustomFont.Draw(mySpriteBatch, 80, 0, "Teste de Colisão"); mySpriteBatch.End(); 20 Desafio: 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 21 Perguntas? 22 . XNA Game Studio Express XNA Game Studio Express Aula 4 Aula 4 Uso de Uso de Fontes Fontes no XNA no XNA Alexandre Santos Lobão Alexandre. (01) = Energia = Tipos de armas = 9876 543 210 9876 543 210 012 345 6789 012 345 6789 9876 543 210 9876 543 210 012 345 6789 012 345 6789 01 01 19 2. Classe de apoio “Font.cs” private

Ngày đăng: 22/03/2014, 15:21