·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3.0的事件处理详细说明(4)

时间:2012-07-05 10:57CuPlayer
事件对象 在事件处理的过程中,系统会自动创建一个事件类的实例,作为参数传递给接收者函数。这个实例称为事件对象,由于事件对象是事件类的实例,所以可以调用事件。 MouseEvent类的部分属性 属性名 说明 stageX

事件对象
 在事件处理的过程中,系统会自动创建一个事件类的实例,作为参数传递给接收者函数。这个实例称为事件对象,由于事件对象是事件类的实例,所以可以调用事件。
      MouseEvent类的部分属性
    属性名          说明
stageX                                                   鼠标指针在舞台中的x坐标
stageY                                                   鼠标指针在舞台中的y坐标
buttonDown                                          是否按下鼠标
ctlKey                   crtl键是否可用
练习使用事件处理:
1、新建Flash文档
2、改图层1为mc,单击第一帧,打开动作面板,输入代码:
//创建和引用Sprite类的实例
svr test:Sprite = new Sprite();
//定义绘制样式
test.graphics.beginFill(0xff0000,1);
//绘制圆形
test.graphics.drawCircle(275,200,100);
//添加到显示列表
stage.addChild(test);
//允许使用双击
test.doubleClickEnabled = true;
//注册双击事件的侦听器
test.addEventListener(MouseEvent.DOUBLE_CLICK,receiver);
//定义侦听器函数
function receiver(e:MouseEvent):void
{
      trace("double click");
}
上面的代码创建了Sprite类的实例,Sprite类继承了InteractiveObject类的双击事件,所以Sprite类的实例能处理双击事件。
 用MouseEvent.DOUBLE_CLICK代替事件名,因为MouseEvent类有类属性DOUBLE_CLICK,表示字符串“doubleClick”。
 接收函数带有一个参数,数据类型与事件所在的类名相同,这个参数用于发送者和接收者之间传递数据。
 Sprite类的实例是双击事件的发送者,当用户在显示实例中双击时,实例就发出双击事件,函数receiver()收到事件后,执行函数体内的代码。
3、测试影片,在圆形实例双击鼠标,看一下效果。
4、修改侦听器函数,尝试使用对象,即函数中的参数,由于此参数是MouseEvent类的实例,所以可调用MouseEvent类的实例属性和方法。
funciton receiver(e:MouseEvent):void
{
      trace("坐标=("+e.stageX+","+e.stageY+")");
      trace("鼠标是否按下="+e.buttonDown);
      trace("ctrl键是否可用="+e.ctrlKey);
}
 访问实例属性和实例方法的语法为“实例名.属性名”和“实例名.方法名()”。上面代码中参数即MouseEvent类的实例,所以可通过点语法来访问实例属性。
5、测试影片,双击影片中的图形,查看输出信息。
事件类的架构
 ActionScript 3.0的事件是由很多事件类来管理的,这些类包含了很多属性、方法及非常复杂的事件。
 在所有的事件类中,Event类处理一般的事件,MouseEvent类处理鼠标事件,KeyboardEvent类处理键盘事件。这些类的架构方式与显示类相似,都是通过继承来实现的。
 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器