Jogos Livros Técnicos Palestras Links
Criando seus próprios jogos para XBox 360 - Parte 1

(Publicado na revista XBox 360 ano 2 número 17)

Antes de começar, baixe – gratuitamente! – o XNA e o Visual C# Express (o ambiente de desenvolvimento para escrita dos programas) do site da Microsoft.  Os links podem ser encontrados no endereço http://www.microsoft.com/XNA

Pronto?  Então, vamos lá!

1. Crie um novo projeto de jogo clicando no menu “File”, “New Project”, e selecionando um projeto do tipo “Windows Game”.

2. Você verá que dois arquivos de código foram criados para você:  Game1.cs (que contém os métodos principais onde poderemos incluir nosso código) e Program.cs (programa principal, é quem cria o jogo e inicia sua execução - raramente vamos mexer neste arquivo).  Além destes, foram criados outros arquivos com um ícone e uma imagem para o jogo, que não iremos alterar neste projeto.

3. Abra o Paint (programa de edição de imagens que vem com o Windows) e crie uma imagem branca, de tamanho 16x16, para a bola; e uma imagem branca de largura 16 e altura 96 para os bastões. 

4. Para inserir estas imagens no projeto, na janela “Project Explorer” clique no botão da direita no diretório “Content” e selecione a opção “Add Existing Item” no menu de contexto.  Escolha, no disco, as imagens que você criou no passo anterior.

5. Para manipular as imagens em nosso jogo, declare variáveis do tipo Texture2, incluindo o código a seguir no início da classe Game1:  


// Imagens dos objetos do jogo
Texture2D texBastaoDireita;
Texture2D texBastaoEsquerda;
Texture2D texBola;

6. Agora, carregue as imagens para estas variáveis, ajustando o método “Initialize” desta classe para ficar como o visto no trecho de código a seguir:


protected override void Initialize()
{
// Carrega as texturas dos bastões e da bola
texBastaoEsquerda = Content.Load<Texture2D>("bastao");
texBastaoDireita = Content.Load<Texture2D>("bastao");
texBola = Content.Load<Texture2D>("bola");

base.Initialize();
}


Estas linhas carregam as texturas usando a “content pipeline”, o gerenciador que facilita o tratamento de imagens, modelos 3D e outros conteúdos para os programas XNA.
 

7. Para desenhar as imagens, agora, basta alterar o método “Draw” desta classe conforme o mostrado a seguir:


protected override void Draw(GameTime gameTime)
{
   // Pinta o fundo da tela de preto
   graphics.GraphicsDevice.Clear(Color.Black);
   // Desenha as texturas na tela
   spriteBatch.Begin();
   spriteBatch.Draw(texBastaoEsquerda, new Vector2(20f, 320f), Color.White);
   spriteBatch.Draw(texBastaoDireita, new Vector2(764f, 320f), Color.White);
   spriteBatch.Draw(texBola, new Vector2(400f, 300f), Color.White);
   spriteBatch.End();
   base.Draw(gameTime);
}


O objeto spriteBatch é oferecido pelo XNA para desenhar imagens e textos na tela. Neste caso, estamos desenhando os bastões e a bola indicando a textura a ser usada, a posição da tela (usando um objeto do tipo Vector2) e uma cor a ser usada sobre a imagem.

Se rodarmos nosso programa agora, veremos uma imagem a seguir.

Note que não precisamos realizar nenhuma rotina complicada para inicializar a placa gráfica ou coisa parecida: o XNA realiza todo o trabalho complexo por nós!

Baixe o código completo desta coluna aqui.  E para consultar uma versão um pouco mais "profissional", onde é criada uma classe para gerenciar as sprites, veja este outro código.

E para saber mais sobre o XNA, consulte os slides na página de palestras!

E após terminar esta parte, leia o artigo da edição 18 da revista!

Voltar