快速业务通道

Flash AS入门教程:影片剪辑第五节拖动与碰撞检测

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-08

本例继续讲解AS的基础知识,今天我们来学习Flash AS入门系列教程第七课:影片剪辑第五节拖动与碰撞检测~~ 上一节:Flash AS入门教程:影片剪辑的深度 第五节 拖动与碰撞检测 AS的一个重要优势就是可以实现交互动画,一些特效不用AS也是可以做出来的,但交互的动画不用AS则是无法实现的。拖动MC则是交互动画的一个例子。 startDrag() 函数或 MovieClip.startDrag() 方法:
使用startDrag()可以实现拖动效果。格式:
MC.startDrag(一个布尔值,左边,上边,右边,下边);
这个方法中的所有参数都是可选的,即可要可不要。下面介绍一下这些参数:
一个布尔值:true或false。当设定为true时鼠标位置将锁定在要拖动的MC的注册点上。想一想我们要自定义鼠标指针,这个参数是不是很有用呢?
后面的4个边,确定了MC可以被拖动的范围。想一想我们要做一个控制滑条这几个参数是不是很有用呢? 下面练习一下:

自定义鼠标指针:
新建一个MC,画一个或找一个你喜欢的鼠标图形,图形应该有一个较尖的部位作为针尖吧?将这个针尖与窗口中的十字对齐。回到主场景,将这个MC拖到舞台上,打开属性面板,实例名称为:mouse_mc;打开帧动作面板输入: Mouse.hide();
mouse_mc.startDrag(true); 测试影片,你会发现你的鼠标已经变成你喜欢的图形了。 代码中第一句将系统鼠标隐藏起来,第二句使你的图形可以拖动了,并且鼠标指针被定位在针尖处。使用自定义鼠标要注意的是,你不能再拖动第二个MC,因为一次只能拖动一个MC,当你拖动第二个MC时,你的鼠标图形将不会再被拖动了。 stopDrag()方法: 上面介绍了开始拖动MC的方法,开始拖动总得有停止拖的时候啊,这个方法就是停止拖动。我们回想一下拖动一个MC的过程,一般来说,都是点下鼠标左键不放,就可以拖动了,放开鼠标后就停止拖动,是这样的吧?所以一般将startDrag()放到MC的onPress事件(点下鼠标时)中,而将 stopDrag()放到onRelease事件(放开鼠标时)中。 滑动控制条: 有时我们会用到滑动控制条,比如控制音量大小,播放进度等。那么滑块就需要用到拖动的方法。
用矩形工具画一个细长的矩形,笔触填充公随你喜欢,要不要都行,至少要一个吧?将它转换为MC,双击它进入编辑状态,打开对齐面板选择相对于舞台,左对齐,回到主场景,打开属性面板,实例名称为blt_mc。然后再画一个很短的矩形,做滑块,也转换为MC,也同细长的矩形一样的做法,只是居中对齐,最后的实例名为hk_mc。
blt_mc移到你想它所处的位置,将hk_mc移到blt_mc上。 在帧动作面板中输入: l = blt_mc._x;
r = l+blt_mc._width;
h = blt_mc._y;
hk_mc.onPress = function(){
this.startDrag("true",l,h,r,h);
}
hk_mc.onRelease = function(){
stopDrag();
num = (hk_mc._x-blt_mc._x)/blt_mc._width;
} 测试影片,拖动滑块会发现滑块只能在进度条的范围内拖动了。这是因为我们对startDrag()由于方法运用了4个参数:l,r,h.它们分别是进度条的左右边的x位置及y轴的位置。滑块的移动范围被限定在这个范围内。 从上面的代码中可以看出,当鼠标放开时会产生一个num变量,这个变量是用滑块的x坐标减去进度条的x坐标除以进度条的长度,这样就可以得到一个0~1的数字。有了这个数字,我们就可以用于任何需要用数字控制的对象了。 关键词:
  • 1
  • 2
  • 下一页

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号