Eu só quero renderizar algum texto na tela usando:
- monogame 3.0
- MS Visual Studio 2010 C # Express
No XNA, você conseguiu adicionar fontes ao pipeline de conteúdo com bastante facilidade. Mas isso não parece ser o caso no monogame. Carregar arquivos TTF usando Content<SpriteFont>.Load()
não funciona. Existe alguma maneira de gerar ou baixar arquivos * .spritefont ou arquivos * .xnb que contêm os dados da fonte (sem recorrer à instalação do XNA)?
Respostas:
Uma alternativa é usar fontes de bitmap pré-geradas. Aqui está um tutorial que escrevi há algum tempo usando a ferramenta BMFont para inserir texto em seu jogo usando a biblioteca MonoGame.Extended .
http://dylanwilson.net/bmfont-rendering-with-monogame-extended
fonte
Encontrei o mesmo problema que você. Felizmente, eu tinha um projeto XNA existente que já usava um arquivo .spritefont e gerava o arquivo XNB. Eu apenas o compilei e copiei o XNB no meu projeto MonoGame e posso usá-lo sem problemas.
(Isenção de responsabilidade: tentei criar o pipeline de conteúdo XNA para o MonoGame 3.0 beta conforme as instruções e, depois de algumas horas, desisti; ele não incluiria o projeto corretamente no Visual Studio.)
fonte
Pelo menos em agosto deste ano, a geração de spritefonts ainda não era suportada pelo MonoGame, no entanto, o pipeline de conteúdo era o principal foco de atenção nos últimos meses, então não ficaria surpreso se ele funcionar atualmente. Obviamente, você precisa conhecer a sintaxe de um
.spritefont
arquivo que precisa ser adicionado à sua pasta de conteúdo. Para isso, veja o final deste post.Até onde eu sei, mesmo em agosto, o carregamento de spritefonts já compilados a partir de arquivos XNB é suportado. Como você não deseja instalar o XNA para gerar esses arquivos XNB, convém verificar o XNA Content Compiler Project no codeplex.
Aqui está um
.spritefont
arquivo de exemplo para que você possa ver se ele é atualmente suportadofonte
Agora você pode fazer isso sem instalar nada extra. Em um novo projeto MonoGame, você deve ter um
Content.mgcb
arquivo. Isso deve abrir o aplicativo MonoGame Pipeline. Você pode clicar com o botão direito do mouse noContent
nó da árvore e adicionar um novo item. Selecione `SpriteFont Description '. Isso será compilado corretamente e você poderá carregá-lo no seu código.fonte
Veja isso pessoal, eu tenho compilado meus arquivos * .spritefont para .xnb para uso no MonoGame, para mim, é a única maneira de funcionar.
Confira, também pode ajudá-lo. http://xnacontentcompiler.codeplex.com/
fonte
A melhor alternativa é pré-gerar a fonte xnb via XNA primeiro e depois usá-las em seu projeto Monogame for Windows ou você pode fazer o velho truque para obter a Janela. com o System.Drawing.dll.
fonte
Estou trabalhando nisso há vários dias, tentando consertar isso e, eventualmente, consegui que eu trabalhasse. O que eu estou trabalhando é Windows8, VS2012, MonoGame. devo acrescentar que este é como "monoGame Windows OpenGL Pjoject"
Deixe-me levá-lo através dos passos que tomei. 1. Instalei o monGame para VS2012 2. Instalei o WindowsPhone SDK8 3. Instalei o XNA 4.0 para o meu VS2010
Eu não sei se todos esses passos são nessecery ....
Portanto, você não pode gerar um .spritefont no vs2012 Eu gerei um arquivo spriteFont no meu vs2010 e adicionei i ao meu projeto vs2012 .... MAS não funcionou. E nesta manhã vi que o URL para esse arquivo .spritefont estava errado. Quando o adicionei através do Solution Explorer..content -> adicionar item existente ... o URL estava errado .. "C: \ Usuários \ admin \ Documentos \ Visual Studio 2012 \ Projetos \ MyGame \ MyGame \ Content" não onde vs2012 onde procurava meu arquivo * .spritefot estava aqui ..--> "C: \ Usuários \ admin \ Documentos \ Visual Studio 2012 \ Projetos \ MeuJogo \ MeuJogo \ bin \ WindowsGL \ Debug \ Content" Adicionei i manully, e WOW funcionou. eu colo algum código aqui para que você possa ver melhor o que eu fiz .. dentro da minha classe de jogo eu coloquei essas variáveis
no meu método loadcontent gerado automaticamente pelo VS foi
no meu método de desenho gerado automaticamente pelo VS foi
e então adicionei manualmente meu arquivo spritefont na pasta certa
O estranho é que adicionei fotos dessa maneira e acabamos na pasta correta, mas não no * .spritefont, você deve adicioná-las manualmente na pasta posterior para que eu possa trabalhar ..
Espero que algo disso faça sentido para alguém, porque isso me deu a maior dor de cabeça nos últimos dias. Posso ter esquecido alguns passos e tudo isso pode ser inútil, mas espero poder aliviar as dores de cabeça por alguns por aí
E espero que o monoGame seja atualizado para corrigir esses problemas ...
fonte
Eu usei o XNB Builder para convertê-los manualmente em
.xnb
arquivos. Basta executar o aplicativo, escolher seus arquivos e eles serão convertidos em arquivos XNB prontos para uso com o MonoGame.fonte