MonoGame - 项目布局和结构(架构)

时间:2014-04-23 16:42:38

标签: architecture game-engine projects-and-solutions monogame

因此,我正在尝试一些新技能,并希望建立一个简单的游戏。

我是职业的C#程序员,与所有项目一样,无论是网络还是表单开发,它们都有某种结构。

我喜欢第一次做正确的事情,并想知道使用MonoGame是否有类似的游戏开发方法。我试着搜索,但我显然不会说行话。

到目前为止,我唯一想到的是使用内容管道项目分离资产,但是在一个游戏应用程序中执行其他任何事情都会让人觉得有点混乱。

理想情况下,我希望有一个Windows游戏,但很容易移植到其他操作系统,显然在这样做时我需要分离某些逻辑。

我发现有教程可以教我关于精灵和“你好世界”的游戏,所以我想我会找到我需要的所有帮助,只要我知道要搜索什么。

任何想法,建议和链接都会受到赞赏,我甚至会投票给出我将在游戏开发领域使用的术语的答案。

更新

到目前为止我遇到了以下情况:

2 个答案:

答案 0 :(得分:3)

不确定如果我是一个合适的人来回答这个问题,但你可以检查一下:

  1. 游戏状态

    使用状态模式管理游戏状态 - 它将在状态之间进行转换(例如从菜单到游戏开始状态等)并暂停/取消暂停 - 某种GameStateManager调用正确的IGameStateUpdate, Render, LoadContent方法。

  2. 游戏相机

    了解转换矩阵并使用游戏相机(SpriteBatch.Begin有一个名为矩阵的参数)。使用游戏相机,您可以使用"内部坐标系统" - 这意味着所有绘图点都在"虚拟分辨率屏幕上,例如1024x860"之后它可以缩放以适合用户显示。您可以编写一个分辨率,只需几行就可以处理其他分辨率。当您想要旋转所有敌人物体(比如1000个怪物)时,游戏相机也很有用 - 而不是逐个旋转每个物体,只需旋转坐标系(游戏相机)。有关详情,请访问:http://www.david-gouveia.com/portfolio/2d-camera-with-parallax-scrolling-in-xna/http://www.david-amador.com/2009/10/xna-camera-2d-with-zoom-and-rotation/

答案 1 :(得分:1)

我已经使用MonoGame大约3个月了,并且有一个简单的“框架”来渲染3D和2D对象。

我认为获得结构感的最好方法是看一下使用场景和游戏对象的Unity3D。

关键字将是:Scenegraph,GameObject。