Академический Документы
Профессиональный Документы
Культура Документы
br)
1
Todos os direitos reservados ©
SILVER SPRITE
Jogos desenvolvidos em XNA para a Internet
Introdução
Para aqueles que ainda não conhecem, XNA é um Framework gratuito da Microsoft para
o desenvolvimento de jogos, que utiliza o Visual Studio (Professional/Express) como IDE de
desenvolvimento. Por meio do XNA, é possível desenvolver jogos 2D/3D para PC, X-Box 360 e
Zune (Ipod da Microsoft com sistema operacional Windows). Para maiores informações acesse
o site oficial do XNA: http://msdn.microsoft.com/pt-br/xna/default(en-us).aspx.
Hoje em dia, quando falamos sobre desenvolvimento de jogos para Internet, logo
pensamos em Flash, que é uma ferramenta fantástica para criação de web-sites e também
para desenvolvimento de jogos. Porém, ela tem limitações e, em razão disso, nem sempre
possibilita que o usuário atinja facilmente um resultado esperado. Com a utilização do
Framework XNA, o trabalho de desenvolvimento de um jogo se torna simples pelo fato do XNA
já possuir muitos métodos e recursos prontos, cabendo somente ao usuário valer-se da
criatividade e de linhas de código para criar jogos interessantes.
Pelo fato de cada vez mais pessoas usarem o Framework XNA para o desenvolvimento
de jogos para plataforma Windows, Zune e X-Box, pensando em unir SilverLight com XNA,
surgiu, então, uma nova API, o SilverSprite...
O que é SilverSprite?
Artigo criado por Felipe Aron (www.felipearon.com.br)
2
Todos os direitos reservados ©
SilverSprite é uma API capaz de integrar seus jogos criados com o Framework XNA e
aplicações “Web ricas” por meio do SilverLight, os quais podem ser jogados em qualquer
programa de navegação na Internet (Browser). Esse projeto foi criado por Bill Reiss e está
sendo mantido por José Antonio Farias (http://www.sharpgames.net) e Kevin Wolf.
Para usar essa API, você não irá precisar ter plenos conhecimentos em SilverLight e o
melhor: você praticamente não irá precisar de quase nenhum código do seu jogo. Por
enquanto, o SilverSprite está disponível apenas para jogos de duas dimensões (2D), o que já é
uma evolução em termos de tecnologia e mercado. Para mais detalhes sobre o projeto
SilverSprite acesse: http://www.codeplex.com/silversprite.
Para exemplificar o uso dessa API (SilverSprite), iremos criar um simples projeto em
XNA, e depois, utilizando-se um projeto em SilverLight, iremos executar nosso game por meio
de uma página web.
Vamos criar um projeto simples em XNA para plataforma Windows, na qual iremos
colocar um Sprite (figura) e fazer com que ele se movimente pela tela. Não entraremos em
detalhes sobre os conceitos de desenvolvimento, pois o enfoque é fazer o projeto XNA ser
executado com o SilverSprite.
Para exemplar o acima exposto, inicie um novo projeto, carregue um sprite com uma
Textura 2D qualquer e faça o Sprite se movimentar na tela. Veja o resultado do jogo em
execução:
Artigo criado por Felipe Aron (www.felipearon.com.br)
3
Todos os direitos reservados ©
Após esse procedimento, a primeira coisa que precisamos fazer é adicionar a referência
à DLL do SilverSprite. Para isso, clique com o botão direito sobre a aplicação SilverLight no
Solution Explorer, e escolha a opção “Add Reference...”. Ao abrir a tela, escolha a aba
“Browse” e encontre a pasta que descompactamos as DLLs do SilverSprite. Selecione a DLL
“SilverArcade.SilverSprite.dll”.
Criada a pasta, clique com o botão direito sobre ela, selecione a opção Add Existing
Item... Encontre os fontes do seu game, selecione tudo (Ctrl+A) e clique em “Add”. Você irá
perceber que foram adicionados ao projeto todos os fontes do jogo, como mostra a imagem
abaixo:
Artigo criado por Felipe Aron (www.felipearon.com.br)
5
Todos os direitos reservados ©
Já falando sobre a Page.xaml, vamos, então, adicionar o código que fará a chamada no
nosso game. Precisamos adicionar duas informações: uma é o NameSpace, utilizado no
projeto XNA, e outra, a chama da classe principal do game, que está no arquivo “Game1.cs”.
Altere o código XMAL do Pagem.xaml, de modo que ele fique igual ao descrito abaixo:
<UserControl x:Class="SilverlightGameApplication.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300" xmlns:game="clr-
namespace:GameSilverSprite">
<Grid x:Name="LayoutRoot" Background="White">
<game:Game1 x:Name="game"/>
</Grid>
</UserControl>
Se você der um “Build” na aplicação, verá que aparecerá uma mensagem de erro
dizendo que não foi encontrado o Namespace “XNA”. É aí que entra o SilverSprite. Assim,
vamos trocar toda referência “Microsoft.Xna.Framework” por
“SilverArcade.SilverSprite”. Para tanto, abra o “Game1.cs” e faça essa alteração.
Feita as alterações, execute a aplicação utilizando a tecla F5. Em seguida, irá abrir o
Brownser e carregar o graphics do XNA, porém irá dar erro ao tentar carregar a Textura. Aqui
existe outro pequeno “Detalhe” pelo fato de o SilverSprite utilizar o arquivo .xnb
correspondendo a compilado do projeto XNA. Então precisamos adicionar esse arquivo e
carregá-lo. Clique com o botão direito sobre a aplicação SilverLight e, da mesma forma que
criamos a pasta “Game”, crie a pasta “Content”. Será nessa pasta que iremos adicionar o
arquivo .xnb compilado para carregar nossa textura.
Criada a pasta, adicione o arquivo .xnb da textura localizado na pasta do projeto XNA
por meio do caminho: “./bin/x86/Debug/Content/<Nome_Do_Arquivo>.xnb”. No meu exemplo o
arquivo se chama “MainStone.xnb”. Feito isso, o resultado deverá ficar igual à imagem abaixo:
Agora falta pouco pra fazer nosso game rodar. Como disse, esse é um “Detalhe” do
SilverSprite, pois ele se utiliza do arquivo compilado .xnb. Além disso, precisamos alterar a
propriedade “Build Action” desse arquivo para “CONTENT” para que ele seja compilado junto
com o projeto SilverLight. Assim, selecione o arquivo, já em “Properties”, e altere sua
propriedade como dito acima.
Artigo criado por Felipe Aron (www.felipearon.com.br)
7
Todos os direitos reservados ©
Feito isso, é só compilar o projeto e executar. O Brownser irá se abrir e carregar o nosso
game. Veja a imagem abaixo:
Essa foi apenas uma introdução da utilização do SilverSprite. Ele é um projeto recém-
chegado no mercado, porém podemos perceber que essa API, sem dúvida, promete.
Espero que tenham gostado. Entre no site oficial do projeto e obtenha mais detalhes
sobre essa API. Estou à sua disposição, caso queira entrar em contato. É só mandar um e-Mail
para: falecom@felipearon.com.br. O código fonte desse tutorial pode ser encontrado em meu
web-site: http://www.felipearon.com.br/downloads/zip/silversprite.zip.