Signals框架介绍(三)原生事件

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

  • 第一部分:Signals框架介绍(一)基本用法
  • 第二部分:Signals框架介绍(二)高级事件

原生事件

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

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

[NativeSignalSample.as]

? Download 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篇吐槽文 之一,之二,之三

转载:http://zengrong.net/post/1510.htm

你可能感兴趣的:(Signals框架介绍(三)原生事件)