. net 4.0 + XNA 4.0 -内容.当给定绝对路径时,RootDirectory不工作
本文关键字:路径 工作 RootDirectory XNA 内容 net | 更新日期: 2023-09-27 18:18:37
如何制作内容?RootDirectory绝对路径,以便我可以从其他地方加载内容?
我想我不是故意的,因为这会给出不存在的错误:
Content.RootDirectory = "C:''Users''pc user''Desktop''";
outputFont = Content.Load<SpriteFont>("SpriteFont1");
SpriteFont1。spritefont绝对存在于C:'Users'pc user'Desktop中。毫无疑问。
这是一个有效的精灵字体文件,我只是把它从内容中移动到我的桌面,在那里它工作得很好。呃. .不是。
我确实需要能够做到这一点,但如果你实际上不能从使用Content的绝对路径加载texture2d和spritefont等。加载我愿意安装一个库或其他东西来完成它。
我希望我只是犯了一个"愚蠢的错误",并且它会起作用。
错误是:
ContentLoadException was unhandled
Error loading "SpriteFont1". File not found.
为什么你移动你的SpriteFont的和纹理到你的桌面时,它在内容工作得很好?
我认为要移动内容的位置,你必须向后移动。
Content.RootDirectory = "Content''..''..";
不要忘记,不是所有的计算机都使用C:作为它们的主文件目录,除非这只是为了你的个人使用,那么你显然是这样做的。
是否将精灵字体导入到Content Project中。如果它现在在你的桌面上,它很可能没有被导入,至少不是在它知道的地方。
这是一个类似问题的答案。图片链接不再工作,但答案可能会帮助你。https://gamedev.stackexchange.com/q/9748/11721
刚刚注意到Texture2D。FromStream方法。我将把它贴出来供将来的读者欣赏:
public Stream stream;
Texture2D x;
stream = File.OpenRead("C:''Users''pc user''Desktop''faceGuy.png");
x = Texture2D.FromStream(GraphicsDevice, stream);
spriteBatch.Draw(x, new Rectangle(0, 0, 32, 32), Color.White);