Je veux juste rendre du texte à l'écran en utilisant:
- monogame 3.0
- MS Visual Studio 2010 C # Express
Dans XNA, vous pouviez ajouter des polices au pipeline de contenu assez facilement. Mais cela ne semble pas être le cas en monogame. Le chargement des fichiers TTF à l'aide de Content<SpriteFont>.Load()
ne fonctionne pas. Existe-t-il un moyen de générer ou de télécharger des fichiers * .spritefont ou * .xnb contenant les données de police (sans recourir à l'installation de XNA)?
Réponses:
Une alternative consiste à utiliser des polices bitmap pré-générées à la place. Voici un tutoriel que j'ai écrit il y a quelque temps sur l'utilisation de l'outil BMFont pour insérer du texte dans votre jeu à l'aide de la bibliothèque MonoGame.Extended .
http://dylanwilson.net/bmfont-rendering-with-monogame-extended
la source
J'ai rencontré le même problème que toi. Heureusement, j'avais un projet XNA existant qui utilisait déjà un fichier .spritefont et générait le fichier XNB. Je viens de le compiler et de copier le XNB dans mon projet MonoGame, et je peux l'utiliser sans aucun problème.
(Avertissement: j'ai essayé de construire le pipeline de contenu XNA pour la version bêta de MonoGame 3.0 conformément aux instructions, et après quelques heures, j'ai abandonné; il n'inclurait pas le projet correctement dans Visual Studio.)
la source
Au moins en août de cette année, la génération de spritefonts n'était pas encore prise en charge par MonoGame, mais le pipeline de contenu a été le principal sujet d'attention ces derniers mois, donc je ne serais pas surpris s'il fonctionne actuellement. Bien sûr, vous devez connaître la syntaxe d'un
.spritefont
fichier qui doit être ajouté à votre dossier de contenu. Pour cela, voir le bas de cet article.Pour autant que je sache, même en août, le chargement de spritefonts déjà compilés à partir de fichiers XNB est pris en charge. Comme vous ne voulez pas installer XNA pour générer ces fichiers XNB, vous pouvez vérifier le projet XNA Content Compiler sur codeplex.
Voici un exemple de
.spritefont
fichier afin que vous puissiez voir s'il est actuellement pris en chargela source
Vous pouvez maintenant le faire sans rien installer de plus. Dans un tout nouveau projet MonoGame, vous devriez avoir un
Content.mgcb
fichier. Cela devrait faire apparaître l'application MonoGame Pipeline. Vous pouvez cliquer avec le bouton droit sur leContent
nœud dans l'arborescence et ajouter un nouvel élément. Sélectionnez «Description de SpriteFont». Cela sera compilé correctement et vous devriez pouvoir le charger dans votre code.la source
Vérifiez cela, j'ai compilé mes fichiers * .spritefont en .xnb pour les utiliser dans MonoGame, pour moi, c'est la seule façon dont cela a fonctionné.
Vérifiez-le, cela pourrait vous aider aussi. http://xnacontentcompiler.codeplex.com/
la source
La meilleure alternative est de pré-générer la police xnb via XNA d'abord, puis de les utiliser dans votre projet Monogame pour Windows ou vous pouvez faire l'ancienne méthode pour obtenir la fenêtre.Poignée et coordonnées d'écran ScreenToClient puis utilisez le GDI pour dessiner votre texte avec System.Drawing.dll.
la source
Je travaille sur cela depuis plusieurs jours maintenant, essayant de résoudre ce problème et finalement j'ai réussi à travailler. Ce sur quoi je travaille est Windows8, VS2012, MonoGame. je dois ajouter que c'est comme "monoGame Windows OpenGL Pjoject"
Permettez-moi de vous expliquer les étapes que j'ai suivies. 1. J'ai installé monGame pour VS2012 2. J'ai installé WindowsPhone SDK8 3. J'ai installé XNA 4.0 pour mon VS2010
Je ne sais pas si toutes ces étapes sont nécessaires ...
Sence vous ne pouvez pas générer un .spritefont dans vs2012 J'ai généré un fichier spriteFont dans mon vs2010 puis ajouté i à mon projet vs2012 .... MAIS cela n'a pas fonctionné. Et ce matin, j'ai vu que l'URL de ce fichier .spritefont était incorrecte. Quand je l'ai ajouté via solution explorer..content -> ajouter un élément existant ... alors l'URL était incorrecte. "C: \ Users \ admin \ Documents \ Visual Studio 2012 \ Projects \ MyGame \ MyGame \ Content" c'est pas où vs2012 où chercher mon fichier * .spritefot il était ici .. -> "C: \ Users \ admin \ Documents \ Visual Studio 2012 \ Projects \ MyGame \ MyGame \ bin \ WindowsGL \ Debug \ Content" J'ai ajouté i et WOW cela a fonctionné. je colle du code ici pour que vous puissiez mieux voir ce que j'ai fait .. dans ma classe de jeu je mets ces variables
dans ma méthode de contenu de charge généré automatiquement par VS était
dans ma méthode de tirage générée automatiquement par VS était
puis ajouté manuellement mon fichier spritefont dans le bon dossier
Ce qui est étrange, c'est que j'ai ajouté des images de cette manière et qu'elles se sont retrouvées dans le bon dossier mais pas dans le * .spritefont, vous devez l'ajouter manuellement dans le dernier dossier pour que je travaille ..
J'espère que cela a du sens pour quelqu'un parce que cela m'a donné le plus gros mal de tête ces derniers jours. J'ai peut-être oublié certaines étapes et tout cela peut être inutile, mais j'espère que je pourrai soulager les maux de tête pour certains
Et j'espère que monoGame sera mis à jour pour résoudre ces problèmes ...
la source
J'ai utilisé XNB Builder pour les convertir manuellement en
.xnb
fichiers. Exécutez simplement l'application, choisissez vos fichiers et il les convertira en fichiers XNB prêts à l'emploi avec MonoGame.la source