Actionscript 3.0事件之Mouse_OVER,MOUSE_OUT,ROLL_OVER,ROLL_OUT的区别

本文介绍了Actionscript 3.0中鼠标事件的区别,通过实例展示了MOUSE_OVER, MOUSE_OUT, ROLL_OVER, ROLL_OUT在鼠标移动过程中的触发情况,帮助理解事件阶段和目标对象的差异。" 128765321,8236091,Hadoop集群管理脚本实战,"['Hadoop', '大数据', '分布式系统', '脚本管理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近研究了actionscript 3.0的事件机制,其实不难。但是在鼠标事件中,有几个事件类型非常相近,一开始没有在意,以至于陷于困难。后来回头再细看AS的事件机制,突然恍然大悟。起个例子吧:

package

{

import flash.display.MovieClip;

import flash.display.Sprite;

import flash.events.MouseEvent;

public class MouseEvents extends Sprite

{

public function MouseEvents()

{

init();

}

private function init():void

{

var sp:Sprite=new MovieClip();

addChild(sp);

sp.graphics.beginFill(0xff0000);

sp.graphics.drawCircle(0,0,50);

sp.graphics .endFill();

sp.x=stage.stageWidth/2;

sp.y=stage.stageHeight/2;

var sp1:Sprite=new Sprite();

sp.addChild(sp1);

sp1.graphics.beginFill(0xff7700);

sp1.graphics.drawCircle(0,0,25);

sp1.graphics .endFill();

sp.addEventListener(MouseEvent.MOUSE_OVER,onMRO);

sp.addEventListener(MouseEvent.MOUSE_OUT,onMRO);

sp.addEventListener(MouseEvent.ROLL_OVER,onMRO);

sp.addEventListener(MouseEvent.ROLL_OUT,onMRO);

sp.addEventListener(MouseEvent.MOUSE_WHEEL,onMRO);

sp1.addEventListener(MouseEvent.MOUSE_OVER,onMRO);

sp1.addEventListener(MouseEvent.MOUSE_OUT,onMRO);

sp1.addEventListener(MouseEvent.ROLL_OVER,onMRO);

sp1.addEventListener(MouseEvent.ROLL_OUT,onMRO);

sp1.addEventListener(MouseEvent.MOUSE_WHEEL,onMRO);

}

public function onMRO(e:MouseEvent):void

{

trace("目标对象:"+e.target+" 当前对象:"+e.currentTarget+" 事件类型:"+e.type+" 事件阶段:"+e.eventPhase);

}

}

}

 

鼠标光标移动过程:从舞台空白地方移入sp,再移入sp1,然后再逆向移动。结果如下:

 

目标对象:[object MovieClip] 当前对象:[object MovieClip] 事件类型:rollOver 事件阶段:2

目标对象:[object MovieClip] 当前对象:[object MovieClip] 事件类型:mouseOver 事件阶段:2

目标对象:[object MovieClip] 当前对象:[object MovieClip] 事件类型:mouseOut 事件阶段:2

目标对象:[object Sprite] 当前对象:[object Sprite] 事件类型:rollOver 事件阶段:2

目标对象:[object Sprite] 当前对象:[object Sprite] 事件类型:mouseOver 事件阶段:2

目标对象:[object Sprite] 当前对象:[object MovieClip] 事件类型:mouseOver 事件阶段:3

目标对象:[object Sprite] 当前对象:[object Sprite] 事件类型:mouseWheel 事件阶段:2

目标对象:[object Sprite] 当前对象:[object MovieClip] 事件类型:mouseWheel 事件阶段:3

目标对象:[object Sprite] 当前对象:[object Sprite] 事件类型:mouseOut 事件阶段:2

目标对象:[object Sprite] 当前对象:[object MovieClip] 事件类型:mouseOut 事件阶段:3

目标对象:[object Sprite] 当前对象:[object Sprite] 事件类型:rollOut 事件阶段:2

目标对象:[object MovieClip] 当前对象:[object MovieClip] 事件类型:mouseOver 事件阶段:2

目标对象:[object MovieClip] 当前对象:[object MovieClip] 事件类型:mouseOut 事件阶段:2

目标对象:[object MovieClip] 当前对象:[object MovieClip] 事件类型:rollOut 事件阶段:2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值