这到底是什么?XNA 4.0 ContentManager问题
Content.RootDirectory = "Content";
它是如何涉及到:
player.Initialize(Content.Load<Texture2D>("player"), playerPosition);
感谢。
这到底是什么?XNA 4.0 ContentManager问题
Content.RootDirectory = "Content";
它是如何涉及到:
player.Initialize(Content.Load<Texture2D>("player"), playerPosition);
感谢。
Content.RootDirectory = "Content";
“内容”是图像和模型资产物理存储的文件夹/目录。您的解决方案中应该有一个自动创建新目录的XNA解决方案。
player.Initialize(Content.Load("player"), playerPosition);
在这里,玩家(定制类我假设)正在与资产名称(“玩家”)显示初始化,它在2D/3D空间中的位置。
实质上,第一个代码告诉编译器所有内容在哪里,而第二个代码是为玩家类加载资源。
Content.RootDirectory = "Content";
它设置ContentMaganer
的根目录。在你的XNA解决方案中,你通常有2个项目。一个是你所有逻辑的项目,第二个是放置所有纹理,字体,声音等的内容项目。如果你设置了内容管理器将会在那里加载资源。
player.Initialize(Content.Load("player"), playerPosition);
这里的ContentManager
是游戏的加载播放器,用于玩家初始化。如果设置了RootDirectory然后ContentManager
将加载Content.Load("Content/player")
我会假设你Content
对象实际上是用来加载资产ContentManager
。
第一行设置您的内容项目中的资产正在加载的默认目录。
Content.RootDirectory = "Content";
如果您的内容是您的项目结构中的其他位置,则可以避免始终指定包含文件夹的完整路径。
一个很好的地方开始了解如何使用这些可能会读一些documentation。 ContentManager制作Loading Content相当简单。一个好主意,使其更容易阅读你的代码是指定要加载以及例如内容的类型,
player.Initialize(Content.Load<Texture2D>("player"), playerPosition);
这使得它更容易理解的文件扩展名中省略时,实际上被加载加载资产。
希望有所帮助。
请问为什么在:Content.RootDirectory =“Content”;它必须是“内容”或“内容”,如果我将RootDirectory设置为等于“hamburger”,我无法构建它。感谢这个过程的解释,但是非常有帮助。 – 2012-08-03 01:23:32
如果您喜欢,可以将Content.RootDirectory设置为“汉堡包”,但除非您的资产存储在其中,否则它不会很好。如果您的资产文件夹被称为“汉堡包”,则会正确加载内容。我猜你开始的项目有一个名为'Content'的文件夹,里面有'player.bmp'或其他图片。寻找一个看起来像这样的文件结构,尝试重命名'Content'文件夹,看看会发生什么;) – 2012-08-03 01:29:11