Aqui quem fala é o Tonon do primeiro games... Com a data para primeira apresentação do jogo da Tati chegando, agilizar um tutorial básico sobre a plataforma XNA pode ajudar quem não quer usar o RPGMaker ou outro maker de jogo pronto(desse jeito os jogos não ficam todos parecidos).
O TUTORIAL NÃO ESTÁ COMPLETO, VOU ADICIONAR ALGUNS MÓDULOS AOS POUCOS.
ALGUMAS PALAVRAS VÃO APARECER EM INGLÊS.
NÃO SE PRENDA A ESTE TUTORIAL, SE QUER MESMO FAZER O TRABALHO USANDO XNA, PROCURE NA INTERNET POR ALGUNS TUTORIAIS, O PRÓPRIO SITE DA MICROSOFT TEM UM FÓRUM SOBRE ISSO.
1. A plataforma.
O XNA foi desenvolvido com o intuito de proporcionar a desenvolvedores indie(independentes) a capacidade de criar jogos para Xbox 360 e Windows via Direct3D/X. É uma ferramenta gratuita e pode ser baixada no site da Microsoft.
2. A primeira janela...
Eu tentei fazer isso usando o camstudio... Mas ele não foi com a minha cara, então não consegui um vídeo pra colocar aqui...
Depois de ter baixado tudo lá no site da Microsoft(Visual C#2008 Express Edition e o XNA v3.1) e ter os programas instalados, você abre o Visual C#(Que deve estar no seu desktop) e:
1. Vai até o menu File > New Project(ou usa o atalho Ctrl + Shift + N);
2. Seleciona o XNA Game Studio 3.0;
3. Seleciona Windows Game(3.0);
4. Clique em Ok(Você pode modificar o nome do programa, mas para esse tutorial vamos deixa-lo como WindowsGame1 mesmo).
Agora você deve conseguir ver à sua direita, o Menu Solution Explorer e ao centro, texto e códigos.
Aperte a tecla F5 e o "jogo" deverá rodar sem nenhum erro...
3. Adicionando Conteúdo.
Em Solution Explorer, podemos ver que a pasta content está vazia(contém apenas as referencias). Para adicionar conteúdo, devemos clicar em Content com o botão direito e selecionar o Menu Add > New Folder. O nome da pasta deve ser Conteudo(Sem o acento).
Agora clique com o botão direito na pasta e selecione Add > Existing Item e depois selecione a imagem. Você deve copiar as imagens que vai usar para Meus Documentos/Visual Studio 2008/Projects/WindowsGame1/Content/conteudo(Ou o equivalente no seu sistema).
4. Adicionando a imagem ao seu "jogo".
Se você apertar F5, verá que nada acontece, o jogo continua sem nada na tela... Então devemos usar alguns comandos para fazer a imagem aparecer na tela. Lembre-se de não apagar nada do Game1.cs, O código que já vem nele é necessário para fazer o jogo rodar...
1. Mova um Sprite(imagem .jpg ou .png) para a pasta de conteudo e insira ele no jogo(usando o que ensinei no módulo 3), lembre-se de usar um nome que lembre o que ele é.
2 Procure por SpriteBatch SpriteBatch; e logo abaixo dele adicione
3. Agora procure pelo method(Normalmente começam com
Você pode mudar a posição do sprite mudando os valores de x e y da variável Vector2;
4. Agora criaremos uma nova classe... Clique com o botão direito em WindowsGame1(Lá no content Explorer) e Selecione Add > New Item, Agora escolha Visual C# e depois procure pelo item Class(Provavelmente o terceiro da fileira da direita), Selecione ele, mude o nome para Sprite e clique em Add;
5. A tela de código agora serve para a Sprite.cs;
6. Nela, vamos adicionar os seguintes Statements
7. Na mesma class, mude o código para
8. Em Sprite.cs vamos criar um argumento para que possamos armazenar mais de 2 sprites... Então crie um Method para o ContentManager;
1. Adicione
4. Altere
11. Para desenhar mais de 1 Sprite na tela crie uma variável para ele(pode ser mSpriteTwo), No method
Eu sei que isso aí é quase nada perto de um jogo... Mas se são 6 e 10 agora, estou escrevendo isso à pelomenos 5h(desde que cheguei em casa)... Como já disse, isso não é tudo e vou adicionar algumas coisas mais pra frente(MODs, por favor, não desabilitem o Edit para o post).
É fácil encontrar material sobre XNA na internet, procurem...
Críticas construtivas são bem vindas, qualquer duvida retire aqui mesmo no post...
NÃO DEPENDAM DE MIM, TAMBÉM TENHO MEU TRABALHO PARA CONCLUIR.
O TUTORIAL NÃO ESTÁ COMPLETO, VOU ADICIONAR ALGUNS MÓDULOS AOS POUCOS.
ALGUMAS PALAVRAS VÃO APARECER EM INGLÊS.
NÃO SE PRENDA A ESTE TUTORIAL, SE QUER MESMO FAZER O TRABALHO USANDO XNA, PROCURE NA INTERNET POR ALGUNS TUTORIAIS, O PRÓPRIO SITE DA MICROSOFT TEM UM FÓRUM SOBRE ISSO.
1. A plataforma.
O XNA foi desenvolvido com o intuito de proporcionar a desenvolvedores indie(independentes) a capacidade de criar jogos para Xbox 360 e Windows via Direct3D/X. É uma ferramenta gratuita e pode ser baixada no site da Microsoft.
2. A primeira janela...
Eu tentei fazer isso usando o camstudio... Mas ele não foi com a minha cara, então não consegui um vídeo pra colocar aqui...
Depois de ter baixado tudo lá no site da Microsoft(Visual C#2008 Express Edition e o XNA v3.1) e ter os programas instalados, você abre o Visual C#(Que deve estar no seu desktop) e:
1. Vai até o menu File > New Project(ou usa o atalho Ctrl + Shift + N);
2. Seleciona o XNA Game Studio 3.0;
3. Seleciona Windows Game(3.0);
4. Clique em Ok(Você pode modificar o nome do programa, mas para esse tutorial vamos deixa-lo como WindowsGame1 mesmo).
Agora você deve conseguir ver à sua direita, o Menu Solution Explorer e ao centro, texto e códigos.
Aperte a tecla F5 e o "jogo" deverá rodar sem nenhum erro...
3. Adicionando Conteúdo.
Em Solution Explorer, podemos ver que a pasta content está vazia(contém apenas as referencias). Para adicionar conteúdo, devemos clicar em Content com o botão direito e selecionar o Menu Add > New Folder. O nome da pasta deve ser Conteudo(Sem o acento).
Agora clique com o botão direito na pasta e selecione Add > Existing Item e depois selecione a imagem. Você deve copiar as imagens que vai usar para Meus Documentos/Visual Studio 2008/Projects/WindowsGame1/Content/conteudo(Ou o equivalente no seu sistema).
4. Adicionando a imagem ao seu "jogo".
Se você apertar F5, verá que nada acontece, o jogo continua sem nada na tela... Então devemos usar alguns comandos para fazer a imagem aparecer na tela. Lembre-se de não apagar nada do Game1.cs, O código que já vem nele é necessário para fazer o jogo rodar...
1. Mova um Sprite(imagem .jpg ou .png) para a pasta de conteudo e insira ele no jogo(usando o que ensinei no módulo 3), lembre-se de usar um nome que lembre o que ele é.
2 Procure por SpriteBatch SpriteBatch; e logo abaixo dele adicione
- Código:
Vector2 mPosition = new Vector2(0, 0);
Texture2D mSpriteTexture;
3. Agora procure pelo method(Normalmente começam com
- Código:
protected override void
- Código:
protected override void LoadContent()
{
SpriteBatch new = SpriteBatch(GraphicsDevice);
mSpriteTexture = this.content.load<Texture2D>("conteudo/Nome_do_sprite");
}
- Código:
protected override void Draw(GameTime gameTime)
- Código:
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
spriteBatch.Draw(mSpriteTexture, mPosition, Color.White);
spriteBatch.End();
base.Draw(gameTime);
Você pode mudar a posição do sprite mudando os valores de x e y da variável Vector2;
4. Agora criaremos uma nova classe... Clique com o botão direito em WindowsGame1(Lá no content Explorer) e Selecione Add > New Item, Agora escolha Visual C# e depois procure pelo item Class(Provavelmente o terceiro da fileira da direita), Selecione ele, mude o nome para Sprite e clique em Add;
5. A tela de código agora serve para a Sprite.cs;
6. Nela, vamos adicionar os seguintes Statements
- Código:
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
7. Na mesma class, mude o código para
- Código:
class Sprite
{
public Vector2 Position = new Vector2(0,0);
private Texture2D mSpriteTexture;
}
- Código:
public Vector2 Position = new Vector2(0,0);
private Texture2D mSpriteTexture;
8. Em Sprite.cs vamos criar um argumento para que possamos armazenar mais de 2 sprites... Então crie um Method para o ContentManager;
- Código:
public void LoadContent(ContentManager theContentManager, string theAssetName)
{
mSpriteTexture = theContentManager.Load<Texture2D>(theAssetName);
}
- Código:
public void Draw(SpriteBatch theSpriteBatch)
{
theSpriteBatch.Draw(mSpriteTexture, Position, Color.White);
}
1. Adicione
- Código:
Sprite mSprite;
- Código:
Texture2D mSpriteTexture;
- Código:
protected override void Initialize();
- Código:
mSprite = Sprite();
- Código:
LoadContent();
- Código:
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
mSprite.LoadContent(this.Content, "conteudo/Nome_do_Sprite");
}
4. Altere
- Código:
protected override void Draw(GameTime gameTime)
- Código:
protected override void Draw(GameTime gameTime)
{
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
mSprite.Draw(this.spriteBatch);
spriteBatch.End();
base.Draw(gameTime);
}
11. Para desenhar mais de 1 Sprite na tela crie uma variável para ele(pode ser mSpriteTwo), No method
- Código:
Initialize()
- Código:
mSpriteTwo = newSprite();
- Código:
LoadContent
- Código:
mSpriteTwo.LoadContent(this.Content, "SquareGuy");
- Código:
mSpriteTwo.Position = new Vector2( 300, 100);
- Código:
mSpriteTwo.Draw(this.spriteBatch);
- Código:
Draw();
Eu sei que isso aí é quase nada perto de um jogo... Mas se são 6 e 10 agora, estou escrevendo isso à pelomenos 5h(desde que cheguei em casa)... Como já disse, isso não é tudo e vou adicionar algumas coisas mais pra frente(MODs, por favor, não desabilitem o Edit para o post).
É fácil encontrar material sobre XNA na internet, procurem...
Críticas construtivas são bem vindas, qualquer duvida retire aqui mesmo no post...
NÃO DEPENDAM DE MIM, TAMBÉM TENHO MEU TRABALHO PARA CONCLUIR.