Tutorial Criando um projeto XNA

Para criar um projeto C# + XNA

  1. Abra o visual studio
  2. no menu File -> New -> Project
  3. Na janela que abriu selecione C# -> XNA Game Studio 4.0 -> Windows Game
  4. Chame o projeto de Pong e clique em OK

 

Quando você cria um projeto, o Visual Studio cria dois arquivos para você, Program.cs e Game1.cs

Program.cs é o programa principal, você não vai precisar mecher lá tão cedo, é o local onde o executável começa e onde ele instancia o Jogo.

Game1.cs é a classe onde seu jogo roda, você pode criar outras classes conforme a necessidade do projeto.

O game1 tem alguns métodos pré definidos:

  • Initialize
  • LoadContent
  • UnloadContent
  • Update
  • Draw

O initialize é onde o XNA fica sabendo o que está sendo inicializado, lá você deve inicializar suas variáveis e instanciar os objetos usados durante o jogo, ele é executado assim que o XNA assume o controle do software.

O LoadContent é o local onde você deve carregar as imagens e modelos usados durante o jogo, ele é executado logo depois do Initialize.

O UnloadContent é onde você vai limpar os objetos que armazenam imagens e modelos, ele é executado imediatamente antes do jogo ser fechado.

O Update é onde você deve fazer as atualizações, mover objetos e fazer os cálculos de Física e afins, ele é executado várias vezes por segundo (depende do conteúdo dele, em média 60 vezes por segundo).

O Draw é o método onde tudo deve ser desenhado, ele é executado 60 vezes por segundo.

 

Bom, este é o Básico do Básico de um projeto XNA, você pode obter mais tutoriais de XNA em nossa página de tutoriais.

Até um próximo tutorial.

Tutorial Básico de Pong

 

Parte 1 - Introdução

Neste tutorial vou ensinar os conceitos básicos de um jogo estilo Pong em XNA.

Na abordagem básica meu foco será o XNA, então não utilizarei conceitos de orientação a objetos e outros detalhes 'dispensáveis' em um simples e curto exemplo.

Eu comecei em C# + XNA justamente com um exemplo de Pong e coloco aqui meus agradecimentos à Tolstenko.

 

Parte 2 - Requisitos mínimos

Para a execução deste tutorial eu utilizei o Microsoft Visual Studio 2010 (C#) e o XNA Game Studio 4.0, a versão Express do Visual Studio pode ser obtida gratuitamente no site do Visual Studio e o XNA pode ser obtido aqui. (Caso os links quebrem é muito simples encontrar links novos digitando seus nomes no google)

Quando você for compilar seu jogo, dependendo da sua placa de vídeo, pode aparecer uma mensagem de erro (No suitable graphics card found) dizendo que sua placa de vídeo não suporta o XNA 4 ou que ela não está instalada, neste caso vá até o as propriedades do projeto e DESMARQUE a opção "Use HiDef ..." marcando a opção "Use Reach to access a limited....".

 

 

[Adicionar link para criar um projeto XNA]

 

Tutorial Básico de Pong

 

Parte 3 - Whitepixel

Bom, antes de podermos fazer coisas se mecherem em XNA, precisamos de um desenho para ser movimentado, pela simplicidade do tutorial, criaremos um simples pixel branco e o chamaremos de whitepixel, vou salvar em BMP, é só um pixel mesmo e pode ser criado direto no Visual Studio. Para isto ou vamos pelo Visual Studio ou criamos no paint ou software parecido e adicionamos.

Para fazer direto:

  1. Clique com o botão direito do mouse no projeto Content para adicionarmos o conteúdo
  2. Add -> New Item
  3. Selecione Bitmap File e coloque um nome (whitepixel.bmp para este turorial) clique em OK
  4. Reduza o tamanho para 1 pixel
  5. Salve (Ctrl + S)

  

 

Criado o arquivo agora vamos adicionar ao nosso jogo.

Abra o arquivo Game1.cs no visual studio e procure por (normalmente na linha 20)

SpriteBatch spriteBatch

GraphicsDeviceManager graphics;

Abaixo destas declarações, adicione:

Texture2D whiteTex;

Isto criará uma variável de Textura, onde armazenaremos o Whitepixel.

Feito isso vamos carregar o arquivo para nossa variavel de textura, procure pela função:

protected override void LoadContent()

e logo após a declaração do spritebatch

spriteBatch = new SpriteBatch(GraphicsDevice);

adicione a seguinte instrução:

whiteTex = Content.Load<Texture2D>("whitepixel");

A função LoadContent é responsável pela carga de conteúdo. o Xna divide em funções a inicialização, carregamento, atualização e desenho para poder otimizar cada processo, por exemplo, o desenho (Draw) deve ser atualizado a 60 fps, porém a atualização (Update) pode ser atualizado mais rapido.

Bom, está carregado, na parte 4 vamos adicionar nosso primeiro objeto que será desenhado.