`
Jack-chen
  • 浏览: 71449 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

AS3中鼠标坐标与鼠标事件总结

    博客分类:
  • Flex
阅读更多
flex技术(www.flexjs.cn) 温馨提示:以下要使用以上代码别忘了 import flash.geom.Point;

1 鼠标事件分为MOUSE_OVER, MOUSE_MOVE, MOUSE_DOWN, MOUSE_UP, MOUSE_OUT, MOUSE_WHEEL和MOUSE_LEAVE。其中前六个事件都来自flash.events.MouseEvent类,最后一个MOUSE_LEAVE却是来自flash.events.Event,在导入类包的时候一定要注意这个问题,因为我在这点上就花了很长时间调试,才得发现问题所在。
MOUSE_OVER - 鼠标移动到目标对象之上时触发, 可以用于模拟按钮的mouse over效果;
MOUSE_MOVE - 鼠标在目标对象之上移动时触发,主要用于判断。比如判断在拖拽实例时,实例是否在允许的范围之内,如果超出,立刻停止拖拽或者重新设定实例的坐标;
MOUSE_DOWN - 鼠标在目标对象之上按下时触发。注意,只有按下鼠标左键时才会触发,右键和滚轮都不会触发。在目标对象之外按下鼠标左键,再移动到目标对象之上时,也不会触发;
MOUSE_UP - 鼠标在目标对象之上松开时触发。注意,只有松开鼠标左键时才会触发,右键和滚轮都不会触发。在目标对象之上按下鼠标左键,再移动到目标对象之外松开时,不会触发。但在目标对象之外按下鼠标左键,再移动到目标对象之上松开时,就会触发。
MOUSE_OUT- 鼠标移动到目标对象之外时触发。
MOUSE_WHEEL - 鼠标在目标对象之上转动滚轮时触发。
MOUSE_LEAVE - 当光标离开舞台时触发(stage.addEventListener(Event.MOUSE_LEAVE,leaveHandler);)。在使用自定鼠标后,在鼠标离开舞台时,触发MOUSE_LEAVE事件,然后可以把自定义的鼠标隐藏掉,避免还停留在舞台上。

2 mouseChildren。目标对象中含有子实例时,感应鼠标行为的是子时列,而非目标对象。如果使用 cursor.mouseEnabled=false; 就可以由目标对象来更应鼠标行为。

3 mouseEnabled。当实例重叠时,出于显示列表上方的实例总比下方实例更有优先权感应鼠标行为。当想让下方实例感应鼠标行为时使用 cursor.mouseEnabled=false; 即可。这常用于自定义鼠标后,去除自定义鼠标对鼠标行为的干涉,因为自定义鼠标往往一直处于鼠标下方,其他实例无法再感应到鼠标的变化。

另外,也许DOUBLE_CLICK也应该算做鼠标事件,但要使用它,必须先让doubleClickEnabled=true:
var bg:Sprite=new Sprite();
bg.doubleClickEnabled=true;
bg.addEventListener(MouseEvent.DOUBLE_CLICK,clickHandler);

鼠标是Flash里追主要的互动因素,经常需要侦测鼠标事件(AS3中鼠标事件小结)和得到鼠标的坐标。鼠标坐标的获取可以分为在文档类和在子类中,两种不同的情况。

1)如果是在时间线轴上,或者文档类上使用:
stage.mouseX 和 stage.mouseY

2)在子类(如_sprite:Sprite)上使用:
_sprite.mouseX 和 _sprite.mouseY
这里得到的是鼠标相对于_sprite的坐标。如果需要的是相对于舞台的坐标,则应该使用localToGlobal,如:
var mousePoint:Point=new Point(_sprite.mouseX, _sprite.mouseY);
mousePoint=_sprite.localToGlobal(mousePoint);
trace("Stage coordinates:"+mousePoint);

分享到:
评论

相关推荐

    鼠标位置 鼠标在屏幕的位置 坐标

    `Timer1_Timer`事件每100毫秒触发一次,更新文本框中的鼠标坐标显示。通过这种方式,我们能够持续监控鼠标在屏幕上的位置变化,这对于实现动态交互式应用非常有用。 ### 实际应用场景 - **游戏开发**:在游戏中,...

    获取当前鼠标坐标程序(VB6.0源代码编写)

    在VB6.0编程环境中,获取鼠标坐标是常见的需求,特别是在开发交互性强的软件时,了解鼠标的实时位置对于事件处理、图形绘制等至关重要。本程序通过两种不同的方法实现了这一功能,提供了直观的方式显示鼠标的位置...

    Flash as3 鼠标

    在AS3中,我们可以监听和处理鼠标事件,这些事件包括: 1. MouseEvent.MOUSE_DOWN:当鼠标按钮被按下时触发。 2. MouseEvent.MOUSE_UP:当鼠标按钮被释放时触发。 3. MouseEvent.MOUSE_MOVE:当鼠标在舞台上移动时...

    VB.NET获取全局鼠标坐标

    在VB.NET编程环境中,获取全局鼠标坐标是一项常见的需求,特别是在开发需要实时监控鼠标位置或进行特定位置判断的应用程序时。全局鼠标坐标指的是鼠标在屏幕上的绝对位置,不受当前活动窗口的影响。下面我们将深入...

    VB得到窗体内鼠标的坐标,实时显示在标题栏.rar

    在VB中,类模块用于创建自定义的对象,可以封装数据和方法,这里可能是封装了获取和显示鼠标坐标的功能。 总的来说,这个VB实例是一个实用的教程,帮助开发者学习如何响应用户输入并动态更新用户界面,这对于创建...

    获取鼠标指针坐标_fewer279_visualbasic_

    3. **显示坐标**:在MouseMove事件处理程序内部,你可以更新标签或文本框的内容,显示当前的鼠标坐标。例如,可以创建两个标签,一个显示X坐标,另一个显示Y坐标。 ```vb Private Sub Form1_MouseMove(ByVal Button...

    获取当前鼠标坐标程序(VB6.0源代码编写),用两种方法

    本文将详细介绍如何通过两种方法在VB6.0中编写程序来获取当前鼠标坐标,并提供源代码示例。 方法一:利用WM_MOUSEMOVE消息 WM_MOUSEMOVE是Windows的消息之一,当鼠标在窗口内移动时,系统会发送这个消息给窗口。...

    取得鼠标坐标.rar

    这个名为"取得鼠标坐标.rar"的压缩包文件似乎包含了一个执行程序,用于展示或帮助开发者理解如何在编程中获取鼠标的实时位置信息。下面我们将深入探讨这个主题,讲解如何在不同的编程语言中获取鼠标坐标。 首先,让...

    获取当前鼠标坐标程序(VB6.0代码编写)

    在VB6.0编程环境中,获取鼠标坐标是常见的需求,特别是在开发交互性强的用户界面时。下面我们将详细探讨如何通过两种方法实现这个功能,并提供相关的VB6.0代码示例。 1. **第一种方法:使用`MouseMove`事件** 在VB...

    AS3中求一条直线上点的坐标

    在AS3.0中,直角坐标系中的点可以通过(x, y)坐标来表示,而一条直线则可以用两点决定——即两点确定一条直线。当我们要根据已知直线上两点的坐标,实现鼠标点击时在直线上产生相对位置的点,我们需要涉及到几个关键...

    as3 鼠标跟随效果实例源码

    总结起来,AS3的鼠标跟随效果涉及到了事件监听、对象定位、图形绘制等多个核心概念。这两个实例不仅展示了基本的鼠标跟随,还展现了如何通过编程技巧创造更复杂的视觉效果。对于学习AS3的开发者来说,这是一个很好的...

    VB058-获取鼠标坐标 源代码

    在VB(Visual Basic)编程中,获取鼠标坐标是一项基本但重要的任务,特别是在开发需要与用户交互的图形用户界面(GUI)应用时。本资源“VB058-获取鼠标坐标 源代码”提供了一个实用的例子,展示了如何在VB中实现这一...

    as3鼠标控制人物移动

    在本文中,我们将深入探讨如何在AS3(ActionScript 3)中实现鼠标控制人物移动的功能,虽然题目提及的是AS2,但AS3是更现代、更高效的版本,因此我们以此为焦点。AS3是Adobe Flash Professional和Flash Player中使用...

    flash actionscript3 as3怎么进行全局和本地坐标转换.zip

    - **事件处理**:在监听器中,经常需要将全局鼠标坐标转换为对象的本地坐标,以便准确判断点击是否发生在目标对象内。 - **动画和布局**:在创建复杂动画或布局时,可能需要将一个对象的位置从相对于舞台的坐标...

    vb获取鼠标坐标及判断位置

    在VB(Visual Basic)编程中,获取鼠标坐标和判断其位置是常见的需求,尤其是在开发交互式应用程序时。本文将深入探讨如何使用VB实现这一功能,并介绍相关知识点。 首先,VB提供了一个名为`MousePosition`的全局...

    VB鼠标按键精灵,获取坐标

    接着,我们可以在某个事件处理程序中调用GetCursorPos函数,获取鼠标坐标: ```vb Dim cursorPos As Point If GetCursorPos(cursorPos) <> 0 Then MsgBox "鼠标坐标: (" & cursorPos.x & ", " & cursorPos.y & ")...

    as3鼠标点击地图切换场景

    首先,我们要理解AS3是Adobe Flash Professional和Flash Builder等开发工具中的主要编程语言,主要用于创建互动性的网页内容,包括动画、游戏以及交互式应用。 1. **事件监听器**: 当用户点击地图时,需要捕捉这...

    vb显示鼠标坐标并复制坐标数值的vb程序源代码.zip

    在VB(Visual Basic)编程环境中,开发者经常需要处理与鼠标交互相关的任务,比如获取鼠标位置、监听鼠标事件等。这个“vb显示鼠标坐标并复制坐标数值的vb程序源代码.zip”压缩包提供了一个实用的工具,它能实时显示...

    As3似window桌面鼠标画矩形

    在ActionScript 3(AS3)中,实现类似Windows桌面或魔兽游戏中鼠标画矩形的功能,主要是通过监听鼠标事件并结合图形绘制技术来完成。这个功能可以用于各种用途,如图像选择、区域标注等。下面将详细介绍如何使用AS3...

    基于flash(as3)做的鼠标跟随旋转示例【附源码】

    在本文中,我们将深入探讨基于Flash(AS3)的鼠标跟随旋转示例,这是一个互动性的图形效果,使得舞台上的对象能够根据鼠标的移动而实时旋转。这个示例提供了丰富的编程概念,包括ActionScript 3(AS3)的基础,事件...

Global site tag (gtag.js) - Google Analytics