我仍然不熟悉在XNA中开发游戏并使用C#中的类,但我想开始一个半正式的游戏项目,我可以在没有一次性项目的情况下学习。
我想把我的游戏分成几类。例如,一个主要的游戏类,一个玩家类(我想要两个玩家,他们互相争斗),一个关卡类(用于绘制世界),以及稍后可能出现的类似上电类和网络类的东西,所以我可以让一切都成为多人游戏。
但我不知道在XNA游戏中开始使用这样的类的最好方法。我是这样开课的吗?
namespace MyGame
{
class Player : MyGame
{
// whatever
}
}
或者像这样:
namespace MyGame
{
class Player : Microsoft.Xna.Framework.Game
{
// whatever
}
}
我希望每个类都有Initialize()
,Update()
和Draw()
方法的内容,我将使用传递给这些类的主游戏类中的spriteBatch和GraphicsDeviceManager ...但我也不知道传递它们的最佳方式,或者即使我应该将它们传递给在类中自己制作新的。
非常感谢任何帮助。感谢。
答案 0 :(得分:3)
您可能希望拥有GameObjects的层次结构,因此玩家和您的敌人等将以GameObject为根。只有主要的Game类实际上是从Microsoft.Xna.Framework.Game派生的。
如果您遵循GameComponents的Xna模型,您将获得源自DrawableGameComponent的基础GameObject。当然,玩家和敌人的逻辑可以被提取到Controller类中,然后你可以将它注入到GameObject中,为每个对象提供游戏行为。
我建议你从XNA Creators Club的一些游戏示例开始,它目前已经关闭,但我相信它很快就会启动。使用这些示例来帮助您制定游戏结构。
您可能还想查看Riemer's XNA Tutorials。这是一个非常好的介绍。