XNA屏幕管理

时间:2012-04-05 13:36:56

标签: c# xna

我正在使用AppHub http://create.msdn.com/en-US/education/catalog/sample/game_state_management中的这个例子 我使用这个例子来为我的游戏创建一个菜单系统。游戏已经创建并且没有任何菜单等工作,因此我希望使用游戏状态管理。

我一直在看这个例子,它只是真的说要将游戏代码实现到GameplayScreen类中。但是我有这个问题,因为我不能在这个位置加载某些游戏元素有几个原因(一个是这个类不继承Microsoft.Xna.Framework.Game)所以我有点不知道如何我可以加载它们在某处或者例如,仍然可以访问它们。我的游戏主要由两部分组成,PongSystem控制游戏的大部分,PongGame控制游戏的大部分细节。

如果有人可以帮助解释我如何在这个例子中实现我的游戏,这是最容易理解的方式。 我的游戏可以在这里找到 - http://min.us/mYZYMgzdC

感谢您的帮助:)

3 个答案:

答案 0 :(得分:1)

如果您不介意基本的winform菜单,您可以随时在Windows窗体中创建一个菜单,并使用Process课程来调用您的游戏。

        Process myProcess = new Process();
        myProcess.StartInfo.FileName = //You .exe FilePath
        myProcess.Start();

如果你不喜欢这种方法,有人会发布像你这样的问题here,并得到一些链接。

祝你好运。

答案 1 :(得分:0)

使用GameComponent对象,您可以加载所需的一切。(http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.gamecomponent.aspx)它们是线程化的,非常适合处理不同的逻辑部分而不会使屏幕混乱。

创建一个主屏幕并向其添加组件,然后创建您的主游戏类,它可以参考您的comoponents。

抱歉,如果我没有非常清楚地解释这一点。

答案 2 :(得分:0)

从我以前的项目中,我发现这些教程(1-7)对使用GSM非常有帮助,

第一部分 - http://www.youtube.com/watch?v=-mw6kGYCllI

最后一部分 - http://www.youtube.com/watch?v=3fbCZMuPCe0

如果您按照教程进行操作,它将为您提供一个很好的基础。

这是我开发的最新游戏菜单/游戏截图。

http://philipstarritt.com/wave/ironfist

希望这有帮助