【发布时间】:2014-05-04 02:38:11
【问题描述】:
我很难决定组件(要添加到对象中的对象)应如何通信和更改其“父”对象的数据。
例如,如果我有一个玩家对象和一个碰撞对象,我会将玩家(父)对象传递给碰撞对象,并让碰撞对象在适当的时候更改玩家对象的属性。但是我将如何在不创建新的碰撞子类的情况下重写碰撞对象函数来更改玩家对象?
当碰撞对象检测到碰撞时,玩家父对象是否可以传入一个回调函数来运行?这是个好主意吗?基本上我希望播放器对象保存一组组件并在所有组件上运行更新函数。
一个组件与另一个组件通信的最佳方式是通过传递给它的播放器(父)对象吗?
提前致谢。
【问题讨论】:
-
如果你在理解它所解决的问题之前应用了一个模式,那么你就走错了路。设计模式解决了非常具体的问题,因此您需要确保首先解决了问题。否则,您肯定会遇到更多问题。例如,为什么玩家应该包含碰撞?另外,如果你想为 2d 游戏做一个好的设计,你最好看看
2D game framework(使用你最喜欢的搜索引擎)。
标签: actionscript-3 flash oop design-patterns components