注意:本文参考An introduction to AS3 Signals写成,但不是翻译,有增删改。
- 第一部分:Signals框架介绍(一)基本用法
- 第二部分: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); } } } |
其它资料
- An introduction to AS3 Signals(本文的参考)
- AS3 Signals Tutorial(一个非常棒的视频教程)
- 更多的文章,与其它框架(PureMVC,Robotlegs,Flex)的连用
- Signals的作者关于AS3事件机制的3篇吐槽文 之一,之二,之三


最新评论