`
Jack-chen
  • 浏览: 69466 次
  • 性别: 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);

分享到:
评论

相关推荐

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

    通过两个点画一条直线,鼠标点击任意一点,在已知直线上画出相对位置的点。

    屏幕抓取,获取鼠标坐标

    进行屏幕抓取,获取鼠标坐标 ======================MFC使用方法============================================================ CString CPageApp::OSVer() { OSVERSIONINFOEX os; ::ZeroMemory(&os,sizeof(os))...

    javascript获取当前鼠标坐标的方法

    本文实例讲述了javascript获取当前鼠标坐标的方法。分享给大家供大家参考。具体实现方法如下: 对于javascript获取当前鼠标坐标来说,得对不同浏览器的坐标位置有所了解。具体代码如下: 代码如下:<html> &lt...

    前端canvas粒子动画背景(带鼠标跟随和点击散开)

    2、添加鼠标移动事件并实时更新鼠标坐标  3、通过随机数生成粒子的坐标和横纵轴速度 4、渲染粒子并将粒子对象保存在数组中 5、调用requestAnimationFrame启动动画,使粒子移动起来 6、通过横纵坐标和速度计算粒子...

    python opencv鼠标事件实现画框圈定目标获取坐标信息

    在视频/相机中,用鼠标画矩形框,圈定目标,从而获得鼠标的起始坐标点a、终止坐标点b # -*- coding: utf-8 -*- """ Created on Tue Dec 27 09:32:02 2016 @author: http://blog.csdn.net/lql0716 """ import cv2 ...

    VB获取鼠标指针坐标

    VB获取鼠标指针坐标,在窗口中适时显示鼠标坐标,移动鼠标适时显示坐标信息,是计算鼠标所经过点的像素值,以下代码是关键代码:  Private Sub Timer1_Timer()  Dim point As POINTAPI  GetCursorPos point '获取...

    鼠标模拟键盘.frm

    Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long '这个是设置鼠标的位置! Private Declare Function CreateDCA& Lib "gdi32" (ByVal lpDriverName As String, ...

    javascript 事件对象 坐标事件说明

    测试浏览器的版本: IETester 6 ,7 IE 8.0 Firefox 3.5.5 Chrome 4.1.249.1064 (45376) Opera 9.64 Safari 4.0 先来看看各个主流浏览器都有哪些坐标属性以及它们的意义 在IE中 event.offsetX event.offsetY 相对于e....

    模拟鼠标点击使角色随之移动

    程序设计教学资源,这里使用一个类来定义角色,在角色的类中定义了一个walkTo函数,给这个函数传递x,y坐标,角色会在平面上自主移动到指定位置;在主时间轴中,通过鼠标点击事件获取这个坐标。

    opencv鼠标事件练习:图片取色器实现

    opencv的鼠标事件格式比较固定:调用...(x,y)为鼠标在窗口中点击的位置,与数组坐标同参考系 param是传入参数 import cv2 as cv def tirgger_left_clicked(event, x, y, flags, param): if event == cv.EVENT_LBUT

    as3.0 翻书效果

    flash翻页 程序的核心在于如何获得四个点ABCD的坐标,我使用的...由已知的C,H坐标求出直线BD的一次函数y=kx+b以后再求出其与FG,EH的切点,既得点B,D坐标,点A是点G于直线BD的对称点,通过求点G对BD的对称点既可得点A坐标.

    用python3 返回鼠标位置的实现方法(带界面)

    /usr/bin/python3 # -*- coding: UTF-8 -*- import time import pyautogui as pag import tkinter def get(): po.delete(0,tkinter.END) time.sleep(2) #几秒后返回位置 x , y = pag.position() po.in

    Javascript 获取鼠标当前的位置实现方法

    它们的值表示事件发生时鼠标指针在视口中的水平和垂直坐标(不包括页面滚动的距离)。如下图所示: var div = document.getElementById(myDiv); //获取元素 EventUtil.on(div, click, function(event){ event = ...

    桌球辅助--简易的辅助程序

    pyautogui -- 获取鼠标坐标 pynput -- 监听鼠标、键盘输入 tkinter -- 在一个窗口创建画布,以显示路线 操作:运行后程序监听来自键盘的输入 > 输入q退出程序 -- 没有标题栏故没有关闭按钮; > 将鼠标移至桌球...

    python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码

    在使用Matplotlib画图过程中,有些内容必须鼠标点击或者划过才可以显示,这个问题可以依赖于annotate(s='str' ,xy=(x,y) ,xytext=(l1,l2) ,..)这个函数,其中s 为注释文本内容 , xy 为被注释的坐标点, xytext 为...

    javascript跟随鼠标x,y坐标移动的字效果

    跟随鼠标x,y坐标移动的字效果 移动的字! 移动的字! [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

    [Flash.ActionScript.3.0动画教程

    [Flash.ActionScript.3.0动画教程],这是一本由Keith Peters编写的一本动画设计教材,此书要求读者对as2.0要有比较深的了解,主要讲解的是动画相关的原理。绝对有价值的一本书。 目录如下: 第一部分ActionScript...

    鼠标右击事件代码(asp.net后台)

    //鼠标右击事件 function ContextMenu() { //创建两个变量,作为菜单出现的坐标 var x; var y; //获取菜单外部Div(下面简称面板) var FramePanel=document.getElementById(“FrameDiv”); //获取面板宽度和高度 var ...

    详解Canvas事件绑定

    我先来讲下实现原理:其实就是canvas绑定相关事件,在通过记录图片所在canvas的坐标,判断事件作用于哪个图片中。这样讲是不是感觉跟事件代理有点相似咧。不过实现起来还是有稍许复杂的。 ps:下面的代码我是用ts写...

    VB的围棋代码

    Dim ms As Boolean Dim Info, temp As String Dim p, p1, p2, i As Integer Dim Ch ' Begin of Time Show Process If ModemState <> LOGIN And SocketState <> CONNECTED Then 'it is not a multiusers game Exit ...

Global site tag (gtag.js) - Google Analytics