我在最近的项目中使用Robert Penner的Signals。它很棒。
https://github.com/robertpenner/as3-signals
现在我需要一种方法来了解过去某个地方是否已经发送了一个信号hal。例如,我有一个类在完全加载时调度信号,但是我需要在同一个类中使用一些标志,以便只有在事件已经被调度时才允许某些方法工作。
因此,快速而快速的解决方案是在事件处理程序中添加一个布尔值:
isLoaded = true;
但是我想知道Signal类中是否已经实现了一些我可以使用的东西。
答案 0 :(得分:2)
我为Penner的原创课程添加了RelaxedSignal课程。他们没有被合并到他的代码库中,并怀疑他们永远不会。我不知道为什么,我已多次问过他,但他不会做出反应。
无论如何,如果您订阅了已经发送的信号,它将立即呼叫该用户的监听器。我特别针对像你这样的情况创建了这个,你想要回复可能已经发生过的事件。
信号很棒,但有一个功能确实缺失:订阅信号后,能够在发送信号之后。
说明:http://creynders.wordpress.com/2011/10/06/relaxedsignals/
答案 1 :(得分:1)
我认为你会为你的班级添加一个布尔值,我认为你不应该让它依赖于信号,因为也许你以后会把它改成普通事件然后你搞砸了。 isLoaded
布尔值应该是加载器的一部分,而不是信号/事件。