注意:本文参考An introduction to AS3 Signals写成,但不是翻译,有增删改。


原生事件

为了达到替换AS3事件机制的目的,Signals当然包含了对AS3原生事件的支持。这依赖于NativeSignal类。

下面的范例演示了如何在Stage上添加单击事件。由于一看就懂,这里就不废话解释了。

[NativeSignalSample.as]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import org.osflash.signals.natives.NativeSignal;
[SWF(width=500,height=300,frameRate=30,backgroundColor=0xFFFFFF)]
/**
* 测试原生事件
* @author zrong(zengrong.net)
*/
public class NativeSignalSample extends Sprite
{
public function NativeSignalSample()
{
_click = new NativeSignal(this.stage, MouseEvent.CLICK, MouseEvent);
_click.add(handler_click);
//测试只发生一次的点击事件
//_click.addOnce(handler_click);
}
private var _click:NativeSignal;
private function handler_click($evt:MouseEvent):void
{
trace('currentTarget:',$evt.currentTarget);
trace('target:',$evt.target);
}
}
}

其它资料

留言