我需要加载一些.Xnb文件从一个动态链接库在Xna游戏。为此,构造函数中有一个以"ResourceManager“为参数的"ResourceContentManager”。那么如何将文件作为Embedded Resources添加到DLL并初始化ResourceManager呢?以下代码不起作用(命名空间为"Mox")
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“...这抛出了一个异常,所以我知道它没有正确加载...有什么建议吗?
发布于 2011-12-16 01:22:31
我在gamedev.stackexchange.com上也问过类似的问题。答案也可能对你有帮助,请看下面的内容:
除了Russell之外,我还有另一个解决方案,它允许您使用内容管理器,并允许您嵌入XNA支持的所有类型的内容。
XNA通过资源而不是内容项目来支持ContentManager。要使用它,请执行以下操作。当然,在某些情况下,您需要传递游戏服务的引用。
ResourceContentManager Content = new ResourceContentManager(game.Services, Resource1.ResourceManager);使用this将着色器或任何内容编译为xnb。
将任意和所有XNB添加到您的资源中。他们只是像往常一样加载你的内容。
Content.Load<Texture2D>(".\\assetName")https://stackoverflow.com/questions/8523411
复制相似问题