人们是否使用类作为他们的"game loop?"

Do people use classes as their "game loop?"

本文关键字:他们的 game loop 是否      更新时间:2023-10-16

所以我一直在学习如何编程,这样我就可以制作游戏,因此,我一直在阅读和观看许多教程。 每隔一段时间,我就会遇到使用类来处理游戏事件的代码(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;
}

感谢您的阅读。

在游戏引擎设计方面,我们有一个叫做场景系统的东西。一个场景通常包含所有游戏对象。当您向场景发送事件时,它应该迭代游戏对象并使用事件更新它们(更新开始结束渲染后渲染键盘鼠标滚动调整大小蚀刻(。

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

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

或者当用户获胜并进入下一关时,我们可以卸载最后一个关卡,因此我们只需销毁游戏/场景并创建一个新关卡的新关卡。

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