如何使用游戏对象和组件实现 OOD?
我试图从更深层次上更好地理解事物。我通常会这样:
class Player(KX_GameObject)
然后我有几个
class Movement(KX_PythonComponent)
class UI(KX_PythonComponent)
class Animations(KX_PythonComponent)
这是一种合理的做法吗?我觉得我已经学习了大量关于 OOD、OOA、OOP 的知识,并且我正在努力使用 UPBGE 内的组件、游戏对象和属性在我的代码中实现它。
我想更好地理解 GameObject 和 PythonComponent 之间的关系。当我创建一个立方体并用它创建一个 KX_GameObject 和一个 KX_PythonComponent 时。我注意到 KX_GameObject 可以通过
self.components
列表。使您能够访问与场景中同一对象关联的组件类内的所有属性和方法。
我也刚刚意识到在游戏对象中没有
self.object
就像在组件类中一样。但是在KX_GameObject中
self
是对象。很酷的是我在 KX_GameObject 类中创建的所有方法都传递给我的组件类,例如继承。
我想使用简洁设计和面向对象原则来设计一款游戏。我知道这个问题对于 UPBGE 来说非常非常特殊,但我仍然希望得到有关您在游戏开发中使用的 OO 原则的反馈。谢谢
希望这对将来的人有帮助。 我在文档中找到了这个!!!!它一直都在那里,真是太神奇了。 (对我来说)它基本上回答了我关于 UPBGE 中游戏对象和组件之间关系的所有问题。
我为什么不早点读这些东西... :man_facepalming: