人们是否将类用作他们的“游戏循环”?

时间:2019-02-09 22:53:19

标签: c++

因此,我一直在学习如何编程,以便制作游戏,因此,我一直在阅读和观看许多教程。偶尔,我会遇到使用类处理游戏事件的代码(c ++),但是没有人解释为什么这样做。

似乎某些编程语言(例如C#)会自动将一个类用于程序的“ main”。

所以我想知道的是我是否应该在游戏中使用一个类。为什么和/或为什么不呢?

这是一个可能看起来像的例子:

class GAME
{
public:
    void load_resources();
    bool input();
    void update();
    void draw();
};

int main ()
{
    GAME game;

    while (!quit)
    {
         quit = game.input();
         game.update();
         game.draw();
    }

    return 0;
}

感谢阅读。

1 个答案:

答案 0 :(得分:1)

在游戏引擎设计方面,我们有一个称为“场景”系统的东西。 一个场景通常包含所有GameObject。 当您发送场景事件时,它应该在gameObjects上进行迭代,并使用事件对其进行更新(更新起始端渲染后渲染键盘鼠标滚动调整大小蚀刻)。

但是在一种非常简单的系统形式中,我们至少需要一个游戏类,以便我们可以重新加载关卡。

例如,当用户进入游戏时,我们可能需要一分钟才能从内存中加载所有模型,纹理和脚本,因此我们不希望在主循环中加载它,因此我们可能希望加载异步并在其中显示加载屏幕情况下,我们将在另一个线程上构建游戏。

或者当用户获胜并进入下一个级别时,我们可以卸载上一个级别,因此我们只需破坏游戏/场景并创建一个新级别即可。

简而言之:这种方法用于定义应用程序的状态并轻松管理它们