Artigo
Criando Templates no XNA
Criação de templates de projetos no XNA
Enviado por Carlos Bittencourt em 20/8/2009 0:00:00

Criando Templates em XNA

                A criação de templates no Visual Studio é relativamente simples, basta termos o projeto aberto na ferramenta, selecionamos File / Export Template e pronto nosso template esta criado e pronto para uso. O template nada mais é do que os arquivos do projeto colocados em uma pasta “zipada” dentro de um determinado diretório(mas adiante estarei especificando qual).
                Mas no XNA para se criar um template de projeto contendo por exemplo figuras, áudio e fontes dentro do Content é necessário configurações adicionais e manuais pois ele não reconhece esta subpasta no momento da criação do mesmo.
                Para criar o template é necessário seguir os seguintes passos:
  1. Exportar o projeto modelo do jogo em questão
  2. Exportar o projeto modelo da subpasta Content
  3. Unir os dois modelos manualmente em um modelo personalizado
  4. Adicionar o resultado ao Visual Studio
Passo 1
                Abra o Visual Studio e crie um novo Projeto:
 

 
Em Content Adicione duas novas pastas = Figuras e Fontes
 

 
Adicione a estas pastas os arquivos correspondentes

 
Neste ponto você pode compilar normalmente pois apenas mostraria uma tela com fundo azul. Nosso foco não esta na codificação e sim na criação do template.
 
Selecione File / Export Template. Escolha Project Template e Next

Em Template icon você poderá selecionar o seu ícone personalizado, escolha o nome do seu template(o Visual Studio sugere o mesmo nome do projeto) e uma breve descrição
 

 Ao finalizar será aberta uma janela mostrando o arquivo criado.

 
Passo 2
Retorne ao Visual Studio feche a Solução (File/Close Solution). Vamos agora criar o template para a pasta Content.
No Visual Studio selecione File/Open/Project Solution, deverá estar aberta a janela a seguir. Escolha o diretório onde foi criado o seu projeto, selecione a pasta Content e em “Nome do objeto” escreva “*” e a seguir pressione Abrir.
 

 
Abra o arquivo Content.contentproj para abrir o conteúdo do projeto, na sua própria solução. 

 
Selecione File /Export Template e finalize conforme a exportação anterior. Caso seja solicitado que a Solução seja salva selecione Sim, escolha uma pasta temporária e salve o arquivo. Este arquivo poderá ser excluído pois o mesmo não terá utilidade em nosso propósito.
 

 
Passo 3
Recorte estes dois arquivos levando-os para uma pasta temporária. Descompacte o arquivo MeuTemplate.zip em primeiro lugar. Depois descompacte o arquivo Content.zip e a pasta gerada deste arquivo coloque dentro da pasta MeuTemplate:

 
Veja como ficou a disposição das pastas e arquivos. O arquivo que nos interessa agora é o MyTemplate.vstemplate Efetue dois cliques e o mesmo será aberto no Visual Studio.
 

 
Abaixo segue o conteúdo do arquivo aberto:
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
 <TemplateData>
    <Name>MeuTemplate</Name>
    <Description>Descrição de meu template</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>MeuTemplate</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>__TemplateIcon.ico</Icon>
 </TemplateData>
 <TemplateContent>
    <Project TargetFileName="MeuTemplate.csproj" File="MeuTemplate.csproj" ReplaceParameters="true">
      <ProjectItem ReplaceParameters="false" TargetFileName="Game.ico">Game.ico</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Game1.cs">Game1.cs</ProjectItem>
      <ProjectItem ReplaceParameters="false" TargetFileName="GameThumbnail.png">GameThumbnail.png</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Program.cs">Program.cs</ProjectItem>
     <Folder Name="Properties" TargetFolderName="Properties">
        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
      </Folder>
    </Project>
 </TemplateContent>
</VSTemplate>
 
      Passo 4
Efetuaremos algumas modificações no arquivo de forma que o mesmo ficará da seguinte forma. Note em destaque os blocos adicionados.
<VSTemplate Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
 <TemplateData>
    <Name>MeuTemplate</Name>
    <Description>Descrição de meu template</Description>
    <ProjectType>CSharp</ProjectType>
    <ProjectSubType>
    </ProjectSubType>
    <SortOrder>1000</SortOrder>
    <CreateNewFolder>true</CreateNewFolder>
    <DefaultName>MeuTemplate</DefaultName>
    <ProvideDefaultName>true</ProvideDefaultName>
    <LocationField>Enabled</LocationField>
    <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
    <Icon>__TemplateIcon.ico</Icon>
 
<!--Bloco adicionado--> 
    <PromptForSaveOnCreation>true</PromptForSaveOnCreation>
<!—Fim do bloco adicionado--> 
 
 </TemplateData>
 <TemplateContent>
    <Project TargetFileName="MeuTemplate.csproj" File="MeuTemplate.csproj" ReplaceParameters="true">
      <ProjectItem ReplaceParameters="false" TargetFileName="Game.ico">Game.ico</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Game1.cs">Game1.cs</ProjectItem>
      <ProjectItem ReplaceParameters="false" TargetFileName="GameThumbnail.png">GameThumbnail.png</ProjectItem>
      <ProjectItem ReplaceParameters="true" TargetFileName="Program.cs">Program.cs</ProjectItem>
      <Folder Name="Properties" TargetFolderName="Properties">
        <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
      </Folder>
    </Project>
 </TemplateContent>
 
<!--Bloco adicionado--> 
<WizardExtension>
    <Assembly>Microsoft.Xna.GameStudio, Version = 2.0.0.0, Culture = neutral, PublicKeyToken = 6d5c3888ef60e27d </Assembly>
    <FullClassName> Microsoft.Xna.GameStudio.Wizards.NestedProjectWizard </FullClassName>
 </WizardExtension>
 <WizardData>
    <FolderName="Content" TargetFolderName="Content">
      <ProjectItemReplaceParameters="true" TargetFileName="Content.contentproj">Content.contentproj</ProjectItem>
 
<!--O bloco abaixo foi retirado do arquivo MyTemplate.vstemplate de dentro da pasta Content-->
<FolderName="Figuras" TargetFolderName="Figuras">
        <ProjectItemReplaceParameters="false" TargetFileName="BlockA0.png">BlockA0.png</ProjectItem>
        <ProjectItemReplaceParameters="false" TargetFileName="BlockA1.png">BlockA1.png</ProjectItem>
      </Folder>
      <FolderName="Fontes" TargetFolderName="Fontes">
        <ProjectItemReplaceParameters="false" TargetFileName="Hud.spritefont">Hud.spritefont</ProjectItem>
      </Folder>
<!—fim  Content-->
 
    </Folder>
 </WizardData>
<!--Fim do bloco adicionado-->
 
</VSTemplate>
 
 
Efetive as alterações realizadas. Selecione todos os arquivos dentro da pasta MeuTemplate e crie um novo arquivo no formato *.zip com estes arquivos selecionados.

 
Recorte o arquivo *.zip criado:

 
Levando-o para o seguinte diretório: C:\Documents and Settings\SeuNomeUsuarioNaMaquina\Meus documentos\Visual Studio 2008\Templates\ProjectTemplates\Visual C#\XNA Game Studio 3.1
 
Caso você não possua a versão 3.1 do XNA pode utilizar a pasta referente a outras versões para efeito de testes.
Abra o Visual Studio e crie um novo projeto selecionando a Versão onde você adicionou o arquivo *.zip. Aparecerá o Template criado:

 
Basta clicar em OK e seu novo projeto será criado a partir de seu template.

Conclusão:

Para quem necessita criar um modelo customizado onde terá alguns arquivos que sempre serão utilizados em seus projetos como por exemplo logo, abertura inicial com mesma aparência e música e etc, a solução é excelente pois uma vez customizado não será necessário passar pelo mesmo processo nas novas criações.
Segue em anexo os arquivos do projeto criado assim como o template.
MeuTemplate_Solucao.zip = Projeto inicial criado
TemplatesIniciais.zip = Templates iniciais gerados a partir do projeto inicial e do Content.
MeuTemplate_Final.zip = Template final com todas as alterações.
Carlos Wagner Gonçalves Bittencourt
 

Arquivos Anexados
Arquivos do projeto Download
Sobre o Autor

cwagnergb
Carlos Bittencourt
Não Definido

Clique para avaliar:

Comentários

Adicione seu Comentário  Voltar
Translator
Logos do XBox 360, XNA e Games For Windows
Copyright 2006-2012 por SharpgamesPolítica de Privacidade  |  Termos de Uso