Flash 鼠标拖拽
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Flash MX 2004基础实例(七)
之鼠标拖拽
语法讲解:
FLASH帮助中的解释:
on()
可用性
Flash 2。
在 Flash 2 中,不是所有的事件都受支持。
用法
on(mouseEvent) {
// 此处是您的语句
}
参数
statement(s) 发生 mouseEvent 时执行的指令。
mouseEvent 是称作“事件”的触发器。
当发生此事件时,执行事件后面大括号中的语句。
可以为
mouseEvent 参数指定下面的任何值:
press 在鼠标指针经过按钮时按下鼠标按钮。
release 在鼠标指针经过按钮时释放鼠标按钮。
--------------------------------
startDrag()
可用性
Flash Player 4。
用法
startDrag(target,[lock ,left , top , right, bottom])
target 要拖动的影片剪辑的目标路径。
lock 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央 (true),还是锁定到用户首次单击该影片剪辑的位置上 (false)。
此参数是可选的。
--------------------------------
stopDrag()
可用性
Flash Player 4。
用法
stopDrag()
参数
无。
返回
无。
说明
函数;停止当前的拖动操作。
--------------------------------MovieClip.hitTest()
可用性
Flash Player 5。
用法
my_mc.hitTest(x, y, shapeFlag)
my_mc.hitTest(target)
x 舞台上点击区域的 x 坐标。
y 舞台上点击区域的 y 坐标。
x 和 y 坐标都在全局坐标空间中定义。
target 可能与由 my_mc 指定的实例交叉或重叠的点击区域的目标路径。
target 参数通常表示一个按钮或文本输入字段。
shapeFlag 一个布尔值,指定是计算指定实例的整个形状 (true) 还是仅计算边框(false)。
只有当用 x 和 y 坐标参数标识点击区域时,才可以指定该参数。
返回
如果 my_mc 与指定的点击区域重叠,则为布尔值 true,否则为 false。
说明
方法;计算由 my_mc 指定的实例以确定它与由 target 或 x 和 y 坐标参数所标识的点击区域是否重叠或交叉。
用法 1:按照 shapeFlag 的设置,将 x 和 y 坐标与指定实例的形状或边框进行比较。
如果 shapeFlag 设置为 true,则只计算舞台上实例实际占据的区域,如果 x 和 y 重叠任意一点,则返回 true 值。
这对于确定影片剪辑是否在指定的点击区域或热点区域中很有用。
用法 2:计算 target 与指定实例的边框,如果它们在任意一点上重叠或交叉,则返回true。
--------------------------------
this
可用性
Flash Player 5。
用法
this
标识符;引用对象或影片剪辑实例。
在脚本执行时,this 引用包含该脚本的影片剪辑实例。
在调用方法时,this 包含对包括所调用方法的对象的引用。
在附加到按钮的 on 事件处理函数动作中,this 引用包含该按钮的时间轴。
在附加到影片剪辑的 onClipEvent() 事件处理函数动作中,this 引用该影片剪辑自身的时间轴。
--------------------------------
_xmouse
可用性
Flash Player 5。
用法
my_mc._xmouse
说明属性(只读);返回鼠标位置的 x 坐标。
_ymouse
可用性
Flash Player 5。
用法
my_mc._ymouse
说明
属性(只读);指示鼠标位置的 y 坐标。
--------------------------------
看过FLASH帮助中的解释后,下面的语句便不难理解:
on (press) {
this.startDrag(false);//当鼠标在影片剪辑上按下时,开始拖拽。
}
on (release) {
this.stopDrag();//当鼠标释放时,停止对影片剪辑的拖拽。
}
ball.onMouseDown = function() {
//当鼠标按下时
if (this.hitTest(_xmouse, _ymouse, true)) {
this.startDrag(false);//如果影片剪辑与鼠标指针重叠时,开始拖拽}
};
ball.onMouseUp = function() {
//当释放鼠标时 this.stopDrag();//停止对影片剪辑的拖拽。
};。