XNA 4.0 ContentManager Issue



这到底能做什么?

Content.RootDirectory = "Content";

它与有何关联

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

谢谢。

我假设您的Content对象实际上是一个用于加载资产的ContentManager

第一行设置默认目录,内容项目中的资产将从该目录加载。

Content.RootDirectory = "Content";  

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

一个开始了解如何使用这些的好地方可能是阅读一些文档。ContentManager使加载内容变得非常简单。让代码更容易阅读的一个好主意是指定您正在加载的内容的类型,例如

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

这样可以更容易地理解在加载资产时提交文件扩展名时实际加载的内容。

希望能有所帮助。

Content.RootDirectory = "Content";

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

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

在这里,玩家(我假设是自定义类)被初始化为要显示的资产名称("玩家"),以及它在2D/3D空间中的位置。

本质上,第一段代码告诉编译器所有内容的位置,而第二段代码加载播放器类的资产。

Content.RootDirectory = "Content"; 

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

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

这里,游戏的ContentManager正在加载玩家以进行玩家初始化。如果设置了根目录,则ContentManager将加载Content.Load("Content/player")