您的位置:首页 > 其它

精通Flex 3.0――4.8.3 Event Listeners事件监听

2008-04-28 15:01 197 查看

  Event Listeners(事件监听)就是Flash Player利用一些functions(函数)来响应指定事件的处理。添加一个Event Listener需要两步过程。
(1)为Flash Player创建一个函数或者类的方法来执行对事件的响应。
(2)通过addEventListener()方法为目标对象注册监听方法。
事件监听函数可以定义在类的外部,也可以定义在内的内部。定义在类的内部可以看做类的一个方法来使用。
当监听函数定义在类外部,代码如下。
package com.topi.AS
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class mySprite extends Sprite
{
public function mySprite(){
graphics.beginFill(0xFFFF00);
//开始填充
graphics.drawRect(0,0,100,100);
//画矩形位置及其大小
graphics.endFill();
//填充结束
addEventListener(MouseEvent.CLICK, showEventMessage);
//注册监听方法
}
}
}
import flash.events.MouseEvent;
//创建监听函数
function showEventMessage(event:MouseEvent):void{
trace("事件类型"+event.type);
trace("函数作用范围"+this);
}
以上代码在调试模式下运行,通过控制台查看以下结果。
事件类型:-----click
函数作用范围:------[object global]
通过以上输出的调试信息,可以看到函数showEventMessage()可以处理的事件类型为click。而函数showEventMessage()被作为了一个全局的对象来调用。
当监听函数定义在类内部,代码如下。
package com.topi.AS
{
import flash.display.Sprite;
import flash.events.MouseEvent;
public class mySprite extends Sprite
{
public function mySprite(){
graphics.beginFill(0xFFFF00);
//开始填充
graphics.drawRect(0,0,100,100);
//画矩形位置及其大小
graphics.endFill();
//填充结束
addEventListener(MouseEvent.CLICK, showEventMessage);
//注册监听方法
}
//定义此类的一个内部方法
private function showEventMessage(event:MouseEvent):void{
trace("事件类型:-----"+event.type);
trace("函数作用范围:------"+this);
}
}
}
以上代码在调试模式下运行,通过控制台看见以下结果:
事件类型:-----click
函数作用范围:------[object mySprite]
通过以上输出的调试信息,可以看到函数showEventMessage()可以处理的事件类型为click。而这个时候函数showEventMessage()被作为了mySprite对象的一个内部方法来调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: