如何在 UPBGE 中使用 GameObject 和组件进行 OO 设计和 OO 编程?

问题描述 投票:0回答:1

如何使用游戏对象和组件实现 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 原则的反馈。谢谢

oop design-patterns game-engine game-development blender
1个回答
0
投票

希望这对将来的人有帮助。 我在文档中找到了这个!!!!它一直都在那里,真是太神奇了。 (对我来说)它基本上回答了我关于 UPBGE 中游戏对象和组件之间关系的所有问题。

我为什么不早点读这些东西... :man_facepalming:

https://upbge.org/docs/latest/manual/manual/python/understanding_inheritance_and_composition_in_game_scripting.html

© www.soinside.com 2019 - 2024. All rights reserved.