2012-08-03 131 views

回答

1
Content.RootDirectory = "Content"; 

“内容”是图像和模型资产物理存储的文件夹/目录。您的解决方案中应该有一个自动创建新目录的XNA解决方案。

player.Initialize(Content.Load("player"), playerPosition); 

在这里,玩家(定制类我假设)正在与资产名称(“玩家”)显示初始化,它在2D/3D空间中的位置。

实质上,第一个代码告诉编译器所有内容在哪里,而第二个代码是为玩家类加载资源。

+0

请问为什么在:Content.RootDirectory =“Content”;它必须是“内容”或“内容”,如果我将RootDirectory设置为等于“hamburger”,我无法构建它。感谢这个过程的解释,但是非常有帮助。 – 2012-08-03 01:23:32

+1

如果您喜欢,可以将Content.RootDirectory设置为“汉堡包”,但除非您的资产存储在其中,否则它不会很好。如果您的资产文件夹被称为“汉堡包”,则会正确加载内容。我猜你开始的项目有一个名为'Content'的文件夹,里面有'player.bmp'或其他图片。寻找一个看起来像这样的文件结构,尝试重命名'Content'文件夹,看看会发生什么;) – 2012-08-03 01:29:11

1
Content.RootDirectory = "Content"; 

它设置ContentMaganer的根目录。在你的XNA解决方案中,你通常有2个项目。一个是你所有逻辑的项目,第二个是放置所有纹理,字体,声音等的内容项目。如果你设置了内容管理器将会在那里加载资源。

player.Initialize(Content.Load("player"), playerPosition); 

这里的ContentManager是游戏的加载播放器,用于玩家初始化。如果设置了RootDirectory然后ContentManager将加载Content.Load("Content/player")

2

我会假设你Content对象实际上是用来加载资产ContentManager

第一行设置您的内容项目中的资产正在加载的默认目录。

Content.RootDirectory = "Content"; 

如果您的内容是您的项目结构中的其他位置,则可以避免始终指定包含文件夹的完整路径。

一个很好的地方开始了解如何使用这些可能会读一些documentation。 ContentManager制作Loading Content相当简单。一个好主意,使其更容易阅读你的代码是指定要加载以及例如内容的类型,

player.Initialize(Content.Load<Texture2D>("player"), playerPosition); 

这使得它更容易理解的文件扩展名中省略时,实际上被加载加载资产。

希望有所帮助。