Рисование текста XNA из DLL - PullRequest
1 голос
/ 04 июня 2009

Я планирую создать библиотеку 2D-игр для XNA, и одним из компонентов, которые я хочу включить, является простой блок текста для отладки. Теперь, чтобы нарисовать текст с помощью SpriteBatch, вам нужен файл .spritefont, который представляет собой файл формата xml, и, похоже, их нужно скомпилировать в отдельную папку. Я бы предпочел не копировать это с DLL, так что вот мой вопрос: Могу ли я построить какой-нибудь текстовый рендер для XNA, который A: не требует от меня переноса внешних файлов с помощью dll (если вы можете встроить шрифт sprite в dll, тогда это работает) и B: не вынуждает меня переписывать изрядное количество базового (управляется ли он directx? Другая часть xna?) Кода, который заставляет работать код SpriteBatch.DrawString.

Ответы [ 2 ]

2 голосов
/ 04 июня 2009

Не могли бы вы просто потребовать, чтобы SpriteFont передавался в вашу библиотеку, чтобы тот, кто использует библиотеку, должен был предоставить этот компонент? Казалось бы, это лучшее решение, так как с тех пор они могли использовать любой шрифт, который хотели. Или вы можете написать в компоненте, который генерирует XML-файл spritefont на основе заданного имени шрифта, потому что это не так уж сложно для файла. Не обращайте внимания. Я забыл, что XNA компилирует свои ресурсы.

0 голосов
/ 28 июня 2009

Вы можете предварительно скомпилировать проект и затем получить файл xnb для spritefont. Затем добавьте файл в папку «Содержимое проекта» в качестве файла содержимого. Затем он должен быть развернут вместе с библиотекой. Однако вам нужно будет создать отдельный файл xnb для каждой платформы, которую вы хотите поддерживать (xbox360, windows, zune) и развернуть правильный файл.

Или почему бы вам просто не создать проект библиотеки содержимого XNA?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...