AS3信号:有没有办法知道信号何时已经发送?

时间:2012-12-03 19:24:47

标签: actionscript-3 events signals

我在最近的项目中使用Robert Penner的Signals。它很棒。

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

现在我需要一种方法来了解过去某个地方是否已经发送了一个信号hal。例如,我有一个类在完全加载时调度信号,但是我需要在同一个类中使用一些标志,以便只有在事件已经被调度时才允许某些方法工作。

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

isLoaded = true;

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

2 个答案:

答案 0 :(得分:2)

我为Penner的原创课程添加了RelaxedSignal课程。他们没有被合并到他的代码库中,并怀疑他们永远不会。我不知道为什么,我已多次问过他,但他不会做出反应。

无论如何,如果您订阅了已经发送的信号,它将立即呼叫该用户的监听器。我特别针对像你这样的情况创建了这个,你想要回复可能已经发生过的事件。

  

信号很棒,但有一个功能确实缺失:订阅信号后,能够在发送信号之后。

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

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

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

答案 1 :(得分:1)

我认为你会为你的班级添加一个布尔值,我认为你不应该让它依赖于信号,因为也许你以后会把它改成普通事件然后你搞砸了。 isLoaded布尔值应该是加载器的一部分,而不是信号/事件。