Visual Studio 2010中SL / XNA解决方案中的不同项目应该包含哪些内容?

时间:2011-10-31 21:29:47

标签: visual-studio windows-phone-7 xna

在Visual Studio 2010中,我创建了一个新的Windows Phone Silverlight和XNA应用程序。它创建的解决方案包含3个项目:

  1. myProject的
  2. myProjectLib
  3. myProjectLibContent
  4. 我可以理解像图片和纹理这样的内容应该放在myProjectLibContent中,但是myProjectLib怎么样,我应该把它放在那里而不是myProject中的文件夹中?

2 个答案:

答案 0 :(得分:5)

项目设置的原因只是Visual Studio和XNA Game Studio如何工作的一个怪癖。

所以你从myProject开始,这是一个Silverlight项目。它与您创建的任何Silverlight项目相同 - 除了它还具有对XNA程序集的程序集引用,因此您可以在此项目中编写XNA代码,它将编译得很好。

现在,因为您正在使用XNA,所以您可能希望使用XNA内容管道。因此,您还可以在模板中获得XNA内容管道项目(myProjectLibContent)。

现在你所要做的就是建立这两个项目,对吧?错!

首先,XNA Content Pipeline项目是一种特殊的项目。它无法自行构建 - 尝试一下 - 尝试右键单击项目并选择“构建” - 该选项不存在。

XNA内容管道项目只能从XNA项目构建。 Silverlight项目不是 XNA项目。只有XNA项目可以有“内容引用” - 然后XNA项目将在自己的构建期间构建。请注意,Silverlight项目没有“内容参考”部分。

因此,XNA库项目myProjectLib存在的 原因是充当Silverlight项目和内容项目之间的桥梁。 Silverlight项目引用XNA库项目,该项目又构建并包含内容项目。

这意味着您可以安全地忽略XNA库项目并将其留空。

在Windows上这是同样的交易。使用XNA的WinForms项目需要一个XNA库项目才能构建XNA内容项目。

答案 1 :(得分:2)

Lib是一个“图书馆”项目。通常在创建XNA游戏时会创建一个 not ,即使在4.0中也是如此。实际上,您不必在为其创建的内容中添加任何内容。

通常情况下,图书馆是一个集中式例程的存储,用于任何游戏或任何游戏类型的游戏(如任何rpg )。然后,您可以从游戏基础项目库中更具体的实现中调用这些例程。

然而,这些都不是必需的,如果这是你的第一场比赛,我建议你完全忽略。将您的代码放在第一个项目中,将内容放在第三个项目中并转到城镇!