// 此代码使用鼠标跟随
// 技术创建拖放交互组件。
// 圆和正方形是 DisplayObject (例如 MovieClip 或 Sprite
// 实例)。
import flash.display.DisplayObject;
import flash.events.MouseEvent;
var offsetX:Number;
var offsetY:Number;
var draggedObject:DisplayObject;
// 按下鼠标按键时会调用此函数。
function startDragging(event:MouseEvent):void
{
// 记住正在拖动的对象
draggedObject = DisplayObject(event.target);
// 记录按下鼠标按键时光标的位置
// 与按下鼠标按键时拖动的对象的 x, y 坐标
// 之间的差异(偏移量)。
offsetX = event.stageX - draggedObject.x;
offsetY = event.stageY - draggedObject.y;
// 将所选对象移到显示列表的顶部
stage.addChild(draggedObject);
// 通知 Flash Player 开始侦听 mouseMove 事件。
stage.addEventListener(MouseEvent.MOUSE_MOVE, dragObject);
}
// 松开鼠标按键时会调用此函数。
function stopDragging(event:MouseEvent):void
{
// 通知 Flash Player 停止侦听 mouseMove 事件。
stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragObject);
}
// 只要按下鼠标按键,
// 每次移动鼠标时都会调用此函数。
function dragObject(event:MouseEvent):void
{
// 将拖动的对象移到光标的位置,从而保持
// 光标的位置和拖动的对象的位置
// 之间的偏移量。
draggedObject.x = event.stageX - offsetX;
draggedObject.y = event.stageY - offsetY;
// 指示 Flash Player 在此事件后刷新屏幕。
event.updateAfterEvent();
}
circle.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
circle.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
square.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
square.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
分享到:
相关推荐
具体实现时,可以使用D3.js的`d3.scale.linear()`方法创建线性比例对象: ```javascript var xLinear = d3.scale.linear() .domain([1, 30]) // 输入域 .range([0, 800]); // 输出范围 // 获取18号这一天的股票...
### Sqlite数据库sqlite3命令小记 #### 一、引言 SQLite 是一款轻量级的数据库管理系统,它被广泛应用于各种应用场景中,特别是在移动设备和嵌入式系统上。SQLite 不仅支持标准的 SQL 语法,还提供了一系列实用的...
Sublime Text3 安装到使用个人小记
- **使用fromkeys()方法创建**:此方法可以创建一个所有键相同的字典,键为指定的序列,值则由第二个参数指定(默认为None)。例如:`dict.fromkeys(['name', 'age'], 'default')`将返回`{'name': 'default', 'age':...
Vuex 使用方法总结 Vuex 是一个专门为 Vue.js 设计的状态管理器,用于管理应用程序的状态。下面是 Vuex 的使用方法总结: State Vuex 的状态管理是通过 State 来实现的。State 是一个对象,存储了应用程序的所有...
在本项目中,我们将探索如何利用Linux操作系统,Java编程语言,Python3,NumPy库以及STL文件格式来实现3D打印技术。这是一个跨学科的综合应用,涉及到计算机科学、软件开发以及制造技术。 首先,Linux是开源的操作...
在“android开发小记”这个主题中,我们可以深入探讨Android应用程序开发的相关知识,特别是通过查看提供的压缩文件中的代码示例。这些文件名如lesson_8_code.zip至lesson_20_codel.zip,以及不同的Mp3Player版本,...
Qt/C++使用小记9【使用UDP创建连接发送消息/传输单个文件】
如果需要添加附件,可以使用`jMail.AddAttachment()`方法。同时,根据实际环境,可能需要调整SMTP服务器的相关配置。 "Jmail组件使用小记.doc"文件很可能包含了更详尽的使用教程和注意事项,包括如何处理错误、如何...
H3C MIB转py小记.txt
Servlet通过继承HttpServlet类并覆盖doGet或doPost等方法来实现动态网页的生成。例如,你可以看到作者可能记录了如何处理HTTP请求、响应头和体的设置,以及如何使用Servlet进行会话管理。 JSP(Java Server Pages)...
Python 3 语法小记(一)入门 (print 函数用法总结) Python 是一种广泛使用的高级编程语言, Python 语法小记旨在为刚刚开始接触 Python 的程序员提供重要函数的记忆,保证学习和开发过程进展顺利。本文将总结 ...
- **注意事项**:如果派生类的方法名称与基类的虚方法不同,则编译器将报错。 - **`final`关键字**: - 用于标记虚函数或整个类不可被进一步覆盖或继承。 - **示例**: ```cpp class E { public: virtual ...
环境: Linux s12084 2.6.9-67.ELsmp #1 SMP Wed ...小记一下。以备以后参考。 boost 库做得真好。在windows 平台, linux 平台下编译都很顺利。hp aCC 也宣称对 boost 1.35 完全支持 。 全部编译是很痛苦的过程
阿里大数据分析平台使用小记 阿里大数据分析平台是阿里巴巴集团旗下的数据分析平台,提供了大数据处理、存储和分析的能力。该平台主要应用于天池大数据竞赛平台,提供了一些使用经验和教程,但不是完整的开发使用...
此外,JVM还有其他优化手段,比如方法内联,可以提高代码执行效率,但这需要谨慎使用,因为过度的内联可能导致方法体过大,反而影响性能。 总结来说,大方法的性能问题主要是由于JVM的JIT编译策略限制。为了避免...
这篇文章《咬人草小记》便是对这种植物的描述,以及作者与它亲密接触后的体验与思考。 文章的开始,是一段友人的警告:“这草,你可不能碰!”正是这句话,将作者的注意力引向了这种奇特的生物。咬人草的外表并...
随笔小记.doc