actionscript-3 - 实例之间共享的 AS3 中央事件调度程序(非静态)

标签 actionscript-3 events loose-coupling

我正在构建一个 Flash 应用程序(只是 AS3 和 FlashDevelop),但我在围绕事件系统保持松散耦合方面遇到了一些麻烦。我已经阅读了大量有关中央事件系统和静态事件分发器的资料,但它们不太适合我。

我正在构建的类似于视频播放器。我有一个 Player 类,它是应用程序所有其他小部分的父级。 Player 类扩展了 Sprite,目前我对其进行了设计,以便您可以实例化多个 Player 并将它们放在舞台上。我还有一个扩展 EventDispatcherController 类,我通过这个类发送所有事件。这是一个中心事件类。

问题是我需要传递对此类的引用,以便所有其他类都可以通过它进行调度和监听。传递引用是有效的,但它与松散耦合恰恰相反.我知道我可以制作一个所有类都可以看到的静态 EventDispatcher,但是如果我在舞台上有两个或三个玩家,他们都会听到彼此的事件。

我如何创建一种沙盒,它允许 Player 实例的所有子类在不传递引用或创建引用的情况下感知中央调度程序静态?

最佳答案

我建议使用 my static dispatcher ,这个有一个 ID 机制,可以告诉哪个 Player 实例调度一个事件。

关于actionscript-3 - 实例之间共享的 AS3 中央事件调度程序(非静态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7154554/

相关文章:

java - 如何通过我的应用程序将事件设置到设备日历?

javascript - JavaScript 的自定义事件库。有没有?建议?

c# - 在 C# 中实现松散耦合的最佳工具是什么

actionscript-3 - 是否有任何快速库可用于在 Flash 中查找人眼和嘴巴? ( ActionScript )

actionscript-3 - AS3 文本框更改事件未触发

apache-flex - 在 Flex 中列表为空时显示的背景图像

dependency-injection - 您最常使用哪种松散耦合模式?

actionscript-3 - 是否可以编写一个带参数的getter?

c# - 使用扩展方法添加事件

java - 高内聚松耦合的优化