`

[转]区别AS3.0中MOUSE_OVER、ROLL_OVER,MOUSE_OUT、ROLL_OUT

阅读更多
http://www.yaotaiyang.com/latestnews/qubie-MOUSE-a-OVERROLL-a-OVERMOUSE-a-OUTROLL-a-OUT/

殿堂之路上面对这两个事件的说明很详细,我也引用一下书上面的话:

这两个事件都是侦听鼠标指针当前是否在现实对象上方的。所不同的是MouseEvent.ROLL_OVER和MouseEvent.ROLL_OUT事件的bubbles属性为FALSE,意味着这两个事件不参与事件流冒泡。这会带来什么不同呢?举例说明,一个容器有子对象A和B,制定该容器侦听MouseEvent.ROLL_OVER事件,target是A,当鼠标移开一些,离开了子对象A处于子对象B上方时,虽然这时还在容器内,但立刻会发出一个MouseEvent.MOUSE_OUT事件,target是A,随后又会发出一个MouseEvent.MOUSE_OVER事件,target是B,这和我们的想法可能不同,我们原来希望只要鼠标指针还在容器上方,就不应该发出MouseEvent.MOUSE_OUT事件。

这时,如果不希望在子对象上移动而导致容器不停发出事件,那么可以使用MouseEvent.ROLL_OVER和MouseEvent.ROLL_OUT。ActionScript3设计这对事件本身就是为了简化我们的代码编写,不必勉强自己再去使用MouseEvent.MOUSE_OUT和MouseEvent.MOUSE_OVER。




如flash所示,当你把鼠标放到第一个按钮上来的时候,会出现几个按钮,开始的按钮和后来出现的按钮都属于btn_mc,btn_mc包含一段按钮出现的动画,其中在第一帧和最后一帧都加了stop();看主场景第一帧的代码:

this.btn_mc.addEventListener(MouseEvent.ROLL_OVER,go);
this.btn_mc.addEventListener(MouseEvent.ROLL_OUT,back);
function go(evt:MouseEvent):void{
evt.target.gotoAndPlay(2);
}
function back(evt:MouseEvent):void{
  evt.target.gotoAndStop(1);
}

以上代码就能实现上述flash的效果,如果把上面的MouseEvent.ROLL_OVER换成MouseEvent.MOUSE_OVER,会发生什么事呢?那么当你鼠标离开最开始的按钮的时候,会产生一个MouseEvent.MOUSE_OUT事件,然后鼠标到下面按钮的时候,又会产生MouseEvent.MOUSE_OVER事件,此时,会报错。“在flash.display.SimpleButton上找不到属性gotoAndPlay,且没有默认值。很显然,此时go函数中的evt.target就变成了小按钮了。如果是MouseEvent.ROLL_OVER的话,go函数中的evt.target还是指的容器。用ROLL_OVER、ROLL_OUT来制作精美的flash二级导航菜单还是挺不错的。实现起来也比较简单
分享到:
评论

相关推荐

    mouse_event事件

    `mouse_event`事件是一组由鼠标触发的事件,包括但不限于鼠标移动(`MOUSE_MOVE`)、鼠标悬停(`MOUSE_OVER`)、鼠标按下(`MOUSE_DOWN`)、鼠标抬起(`MOUSE_UP`)、鼠标离开元素(`MOUSE_OUT`)、滚轮滚动(`MOUSE_WHEEL`)...

    简单的as3.0代码实现文字旋转

    在ActionScript 3.0(AS3)中,实现文字旋转是一种常见的动画效果,它可以用于增强用户界面的视觉吸引力或创建动态的互动体验。本文将深入探讨如何通过AS3代码来实现文字的圆形旋转以及与鼠标的交互功能。 首先,...

    FLASH AS3.0部分常用代码

    FLASH AS3.0 中可以使用 Mouse 事件来实现鼠标事件,例如 CLICK、DOUBLE_CLICK、 MOUSE_OVER、MOUSE_OUT、MOUSE_DOWN、MOUSE_UP、MOUSE_WHELL 等。 六、键盘事件 FLASH AS3.0 中可以使用 KeyboardEvent 事件来实现...

    flash as3.0二级菜单

    3. **事件移除**:为了防止鼠标离开一级菜单时二级菜单仍然显示,我们需要在一级菜单上添加`mouseout`事件监听器,并在对应的事件处理函数中隐藏二级菜单: ```actionscript myTopLevelMenuItem.addEventListener...

    mouse_capture.rar_linux 图像_linux 摄像头_mouse_capture_mouse_capture

    标题中的"mouse_capture.rar_linux 图像_linux 摄像头_mouse_capture_mouse_capture"表明这是一个针对Linux系统的摄像头捕获工具,可能用于抓取图像。描述提到"spcaview用来取图片会有问题",暗示原版的spcaview在...

    AS3.0 饼图 图表

    在本文中,我们将深入探讨如何使用ActionScript 3.0(AS3.0)来创建一个仿3D效果的饼图图表。ActionScript是Adobe Flash Professional中的编程语言,用于开发富互联网应用程序(RIA)。饼图是一种常用的数据可视化...

    mouse_event_test.rar

    《使用mouse_event模拟鼠标操作详解》 在计算机编程领域,模拟鼠标操作是一项常见的需求,尤其在自动化测试、游戏开发或用户界面自动化等场景中。Windows API 提供了一个名为 `mouse_event` 的函数,使得程序员能够...

    mouse_capture.rar_Capture_mouse captu_mouse_captu_mouse_capture_

    标题中的"mouse_capture.rar_Capture_mouse captu_mouse_captu_mouse_capture_"似乎是一个组合,它可能代表了某个软件或程序的名称,与鼠标捕获(mouse capture)有关,可能是一个用于捕捉屏幕上的鼠标操作或者与...

    基于AS3.0实现简化马卡龙色系_拾色器

    在本文中,我们将深入探讨如何基于AS3.0(ActionScript 3.0)实现一个简化版的马卡龙色系拾色器。马卡龙色系,以其柔和且甜美的色彩深受设计师喜爱,通常包括淡粉色、薄荷绿、天空蓝等。AS3.0是Adobe Flash ...

    flash AS3.0 绘画板附源文件

    在IT行业中,ActionScript 3.0(简称AS3.0)是Adobe Flash平台上的一种编程语言,用于创建交互式内容、动画以及富互联网应用程序(RIA)。"flash AS3.0 绘画板附源文件"这个项目是一个使用AS3.0开发的绘画应用,它...

    mouse_hook.rar_hook_mouse_mouse hook_鼠标 钩子_鼠标钩子

    低级鼠标钩子(`WH_MOUSE_LL`)与高-level鼠标钩子(`WH_MOUSE`)的主要区别在于,前者是系统级钩子,可以捕捉所有用户的鼠标事件,而后者只在安装钩子的线程内有效。 示例程序可能实现的功能是“看星星”,即通过...

    as3.0开发游戏adobe

    AS3.0(ActionScript 3.0)是Adobe Flash平台上的主要编程语言,用于创建交互式内容、网页动画以及游戏。这篇关于“as3.0开发游戏adobe”的内容显然是针对初学者,旨在教授如何使用AS3.0进行游戏开发。 在AS3.0中,...

    Mouse_HLD3.rar_Mouse_HLD3.rar_hdl程序_hld-compliant mou_mouse_vhdl

    标签中的“mouse vhdl”强调了设计的焦点是鼠标控制器,而“hdl程序”提示我们关注的是VHDL代码实现。在FPGA设计中,鼠标控制器可能需要处理鼠标的按键事件、滚轮滚动、以及光标移动等信号,这些都需要通过VHDL来...

    Flash as3.0制作的重力球游戏源码。

    AS3.0提供了一系列的事件监听器,如` MouseEvent.MOUSE_DOWN `和` MouseEvent.MOUSE_UP `,用于捕捉鼠标按下和释放的动作。当用户点击并拖动鼠标时,游戏会根据鼠标的移动改变小球的初速度和方向,实现玩家控制小球...

    hid_mouse.zip_hid_hid mouse_hid_mouse_mouse_event_vc2008 H

    标题中的“hid_mouse.zip_hid_hid mouse_hid_mouse_mouse_event_vc2008 H”指的是一个关于HID(Human Interface Device)鼠标设备的编程示例,它使用VC2008(Visual C++ 2008)开发环境,并着重于处理鼠标按钮事件...

    简易涂鸦板 Flash AS3.0

    【简易涂鸦板 Flash AS3.0】是一个使用ActionScript 3.0编程语言在Adobe Flash环境中创建的交互式应用程序。ActionScript 3.0是Flash平台的核心,它提供了更高效、更强大的性能和功能,使得开发动画、游戏以及交互式...

    flash as3.0打地鼠代码

    1. MouseEvent:Flash中的鼠标事件,如MOUSE_DOWN(鼠标按下)、MOUSE_UP(鼠标抬起)和MOUSE_OVER(鼠标经过),在打地鼠游戏中至关重要。例如,监听MOUSE_DOWN事件来检测玩家的打击行为。 2. TimerEvent:Timer类...

    FLASH AS3.0 控制加载的图片旋转缩放

    在Flash AS3.0中,控制加载的图片进行旋转和缩放是一项常见的需求,尤其在创建交互式应用程序或轻量级图片浏览器时。这个场景下,我们通常会使用ActionScript 3.0来处理图像资源,使其具备动态旋转和缩放的功能。...

    FLASH AS3.0实现自动滚动

    在Flash开发中,ActionScript 3.0(AS3.0)是强大的脚本语言,用于创建交互式、动画和富媒体内容。标题"FLASH AS3.0实现自动滚动"表明我们将探讨如何利用AS3.0来实现一个元件的自动滚动效果。这种效果常见于滚动文本...

    usb_mouse.rar_51 鼠标_ch375 mouse_usb mouse_usb_mouse_usb鼠标

    标题中的“usb_mouse.rar_51 鼠标_ch375 mouse_usb mouse_usb_mouse_usb鼠标”揭示了这个压缩包内容的核心,它涉及到一个基于51单片机的USB鼠标项目,使用的控制器是CH375,这是一种常用的USB接口芯片。CH375主要...

Global site tag (gtag.js) - Google Analytics