C # Загрузка ресурса из DLL (ResourceManager) - PullRequest
2 голосов
/ 15 декабря 2011

Мне нужно загрузить некоторые файлы .Xnb из DLL в Xna Game.Для этого есть ResourceContentManager, который принимает ResourceManager в конструкторе.Итак, как добавить файлы как встроенные ресурсы в DLL и инициализировать ResourceManager?Следующий код не сработал (пространство имен "Mox")

ResourceManager resourceManager = new ResourceManager("Mox", Assembly.GetExecutingAssembly());
Stream s = resourceManager.GetStream("Shader");
if(s == 0)
    throw new Exception();

Я добавил Resource "Shader.fx" с помощью "Add-> Existing", а затем установил Build на Embedded Resource и "копировать всегда"... это вызывает исключение, так что я знаю, что он не загружен правильно ... какие-либо предложения?

1 Ответ

2 голосов
/ 15 декабря 2011

Я задал похожий вопрос на gamedev.stackexchange.com . Вам также может помочь ответ, см. Ниже:

У меня есть другое решение в дополнение к Расселлу, которое позволяет вам использовать менеджер контента и позволяет встраивать все типы контента, поддерживаемые XNA.

XNA поддерживает ContentManager через ресурс вместо проекта контента. Чтобы использовать это, сделайте следующее. Конечно, в какой-то момент вам нужно будет передать справку об услугах вашей игры.

ResourceContentManager Content = new ResourceContentManager(game.Services, Resource1.ResourceManager);

Используйте это для компиляции шейдера или чего-либо еще в xnb.

Добавьте любой и все XNB к вашим ресурсам. Они просто загружают ваш контент как обычно.

Content.Load<Texture2D>(".\\assetName")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...