首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#从DLL加载资源(ResourceManager)

C#从DLL加载资源(ResourceManager)
EN

Stack Overflow用户
提问于 2011-12-16 00:32:38
回答 1查看 1.8K关注 0票数 2

我需要加载一些.Xnb文件从一个动态链接库在Xna游戏。为此,构造函数中有一个以"ResourceManager“为参数的"ResourceContentManager”。那么如何将文件作为Embedded Resources添加到DLL并初始化ResourceManager呢?以下代码不起作用(命名空间为"Mox")

代码语言:javascript
复制
ResourceManager resourceManager = new ResourceManager("Mox", Assembly.GetExecutingAssembly());
Stream s = resourceManager.GetStream("Shader");
if(s == 0)
    throw new Exception();

我使用"Add->Existing“添加了资源"Shader.fx”,然后将Build设置为Embedded Resource和"copy always“...这抛出了一个异常,所以我知道它没有正确加载...有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-16 01:22:31

我在gamedev.stackexchange.com上也问过类似的问题。答案也可能对你有帮助,请看下面的内容:

除了Russell之外,我还有另一个解决方案,它允许您使用内容管理器,并允许您嵌入XNA支持的所有类型的内容。

XNA通过资源而不是内容项目来支持ContentManager。要使用它,请执行以下操作。当然,在某些情况下,您需要传递游戏服务的引用。

代码语言:javascript
复制
ResourceContentManager Content = new ResourceContentManager(game.Services, Resource1.ResourceManager);

使用this将着色器或任何内容编译为xnb。

将任意和所有XNB添加到您的资源中。他们只是像往常一样加载你的内容。

代码语言:javascript
复制
Content.Load<Texture2D>(".\\assetName")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8523411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档