我在pygame中开发游戏,我不知道哪些任务应该进入哪个过程。
我有两个通过管道连接的进程,一个将有另一个进行计算的窗口。
我的问题是:主循环的哪些部分应该转到另一个进程?
在我的游戏中,我将不得不进行事件处理,碰撞检测,人工智能,绘图和重型计算(2D照明系统)。
我担心如果我在另一个进程上放了很多东西,主要的就必须等待输入,FPS会冻结。
PS:现在我刚刚开始编写游戏代码,所以我无法向你展示很多代码。
答案 0 :(得分:1)
我建议使用以下架构来创建一个包含两个进程的PyGame:
您将程序分为两部分:
<强>模型强>
所有游戏逻辑都保存在子进程中,计算整个游戏。 只要有值得注意的变化,它就会通知另一个过程。
职责:
<强> GUI 强>
gui处于主要过程中,因为它开始了几场比赛。 当游戏开始时,它开始观察游戏的重要部分。
责任
请注意,我对PyGame的了解并不多。 但是可以保持模型和视图分开。
您也可以查看MVC pattern。但它真的很重。如果程序不能跨计算机分发,只需合并View和Controller就足够了。
然后我听说MVVM pattern。不确定这是否太多,因为你只需要将你的游戏分成两部分而不是三部分。