0

我在我的最新项目中使用了 Robert Penner 的 Signals。它工作得很好。

https://github.com/robertpenner/as3-signals

现在我需要一种方法来知道过去某个地方何时已经发送了信号 hal。例如,我有一个类在完全加载时分派信号,但我需要在同一个类中设置一些标志,以允许某些方法仅在事件已被分派时才能工作。

因此,快速而快速的解决方案是在事件处理程序中添加一个布尔值:

isLoaded = true;

但我想知道 Signal 类中是否已经实现了一些我可以使用的东西。

4

2 回答 2

2

我在 Penner 的原始类中添加了 RelaxedSignal 类。他们还没有被合并到他的代码库中,并且怀疑他们永远不会。不知道为什么,我问了他好几次,他都没有反应。

无论如何,如果您订阅了一个已经发送的信号,它将立即为订阅者调用监听器。我特别为像你这样的情况创建了这个,你想对可能已经发生或可能尚未发生的事件做出响应。

信号很棒,但确实缺少一个功能:在发送信号后订阅信号的能力。

说明:http ://creynders.wordpress.com/2011/10/06/relaxedsignals/

来源:https ://github.com/creynders/as3-signals

示例:https ://github.com/creynders/RelaxedSignalsDemo

于 2012-12-04T11:39:31.760 回答
1

我认为你会在你的类中添加一个布尔值,我认为你不应该让它依赖于信号,因为也许你稍后会将它更改为正常事件,然后你就搞砸了。isLoaded布尔值应该是加载器的一部分,而不是信号/事件。

于 2012-12-03T19:33:50.797 回答