中华网通行证
用户名 密码

Flash MX 2004基础实例(七)

之鼠标拖拽
中华网科技 http://tech.china.com
进入BBS】【进入聊天室】【浏览字号: 】【关闭窗口

先看下效果:

教程: 语法讲解:
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();//停止对影片剪辑的拖拽。
};

 
作者:风灵翼 来源:闪吧
相关教程:

Flash MX 2004基础实例(一) 之探照灯效果
Flash MX 2004基础实例(二) 之斑马线文字
Flash MX 2004基础实例(三) 之描边字效果
Flash MX 2004基础实例(四) 之旋转文字
Flash MX 2004基础实例(五) 之转动的齿轮
Flash MX 2004基础实例(六) 之简单的打字效果
Flash MX 2004基础实例(七) 之鼠标拖拽

中华网搜索
站内搜索
全网搜索


科技频道主编信箱