XNA 4.0 ContentManager问题

时间:2012-08-03 01:09:59

标签: c# visual-studio-2010 xna-4.0

这到底是做什么的?

Content.RootDirectory = "Content";

它与如何相关:

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

感谢。

3 个答案:

答案 0 :(得分:2)

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

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

Content.RootDirectory = "Content";  

如果你的内容在项目结构中的其他地方,这可以避免总是必须指定包括文件夹在内的完整路径。

开始了解如何使用这些内容的好地方可能是阅读一些documentation。 ContentManager使Loading Content非常简单。让代码更容易阅读的好主意是指定要加载的内容的类型,例如,

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

这使得在加载资产时可以更容易理解实际加载的内容,因为文件扩展名被忽略了。

希望有所帮助。

答案 1 :(得分:1)

Content.RootDirectory = "Content";

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

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

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

本质上,第一个代码告诉编译器所有内容的存在,而第二个代码是为播放器类加载资源。

答案 2 :(得分:1)

Content.RootDirectory = "Content"; 

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

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

这里游戏的ContentManager正在加载播放器以进行播放器初始化。如果您设置了RootDirectory,则ContentManager将加载Content.Load("Content/player")