我需要让类在游戏引擎中进行交互。我已将所有类保存到不同的.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,依此类推......
但这似乎过于简单了。
对此的任何指示都会非常感激。
答案 0 :(得分:0)
游戏引擎通常由系统组成,这些系统负责引擎的单个功能。示例包括物理,渲染,碰撞,输入等。您可以实现基于系统的体系结构,该体系结构将处理单个视觉组件。
即使ECS(实体组件系统)体系结构也很有用。实体不过是空类,您必须添加组件,而这些组件仅是决定实体应如何执行的行为元素。
最后,我建议您为系统和组件创建类,并适当地派生它们。这是一个有用的链接:ECS in Games