我正在用游戏开发一个游戏,我不知道应该把哪些任务交给哪个进程。
我有两个由管道连接的过程,一个是窗口,另一个是计算。
我的问题是:主循环的哪些部分应该转到另一个进程?
在我的游戏中,我将不得不做事件处理,碰撞检测,人工智能,绘图和重计算(2D照明系统)。
我担心,如果我把很多东西在另一个过程中,主要的一个将不得不等待输入和FPS将冻结。
PS:现在我才刚开始对游戏进行编码,所以我不能给你们看太多的代码。
发布于 2013-06-22 12:36:39
有观察者模式
我建议使用以下架构来创建具有两个进程的PyGame:
您将您的程序分为两部分:
- update the game e.g. in a loop
- do physics
- send updates to the gui
- handle user input e.g. right arrow pressed
- send modifications to the model e.g. player walks righth
- render views of model elements when updates are received
请注意,我对PyGame的了解并不多。但是将模型和视图分开是可能的。
你也可以看看MVC模式。但它真的很重。如果程序不能在计算机上分发,那么仅仅合并View和Controller就足够了。
然后我听说了MVVM模式的事。不知道这是不是太过分了,因为你只需要把你的游戏分成两部分,而不是三部分。
https://stackoverflow.com/questions/17250197
复制相似问题