让课程在游戏引擎中进行交互

时间:2011-07-11 23:14:51

标签: python class game-engine

我需要让类在游戏引擎中进行交互。我已将所有类保存到不同的.py文件中,我只是将它们导入我的游戏引擎文件并通过游戏引擎运行它们。问题是我需要设置游戏引擎,启动游戏,然后一旦游戏启动,这些类应该能够互相调用。我在想这样的事情:

import class1.py
import class2.py

class Engine(Object):

  def__init__(self, start)
    self.start = start

  def play(self):
    next = self.start

    while True:
        print "\n-"
        class = getattr(self.start, next)
        next = class()

my_engine = Engine(class1)

my_engine.play()

然后随着游戏的进行,我将有class1调用class 2,依此类推......

但这似乎过于简单了。

对此的任何指示都会非常感激。

1 个答案:

答案 0 :(得分:0)

游戏引擎通常由系统组成,这些系统负责引擎的单个功能。示例包括物理,渲染,碰撞,输入等。您可以实现基于系统的体系结构,该体系结构将处理单个视觉组件。

即使ECS(实体组件系统)体系结构也很有用。实体不过是空类,您必须添加组件,而这些组件仅是决定实体应如何执行的行为元素。

最后,我建议您为系统和组件创建类,并适当地派生它们。这是一个有用的链接:ECS in Games