AS3编程教学:元件拖动高级教程
浏览量:1678
时间:2024-02-06 19:02:06
作者:采采
元件拖动是Flash交互设计领域一个非常常用的交互手段和效果,利用flash自带的startDrag和stopDrag就能实现基本的拖动运动,本节对这个方法进行一个全面的讲述,旨在让大家彻底掌握“拖动”这个技术。
新建空白文档
首先我们打开Flash软件,利用欢迎界面来新建一个空白文档。
导入笑脸图
我们找了一张笑脸图,导入到舞台中。为了方便操作,可以按下Q键来进行缩放。
转化成影片剪辑
将笑脸图转化成影片剪辑,并给它一个实例名为mcFace,因为程序控制时需要这个名字。
添加代码
在时间轴新建一层AS图层,在第一帧加入下列代码,便可以实现这张笑脸图的自由拖动:
(_DOWN, startDragFace); (_UP, stopDragFace); function startDragFace(e:MouseEvent):void { (); } function stopDragFace(e:MouseEvent):void { (); }
自由拖动元件
我们可以在笑脸的任意位置单击鼠标并将其拖动到舞台的任何位置,没有任何限制,这是最基本的拖动效果。
设置第一个参数
通过设置startDrag函数的第一个参数为true,可以实现拖动时将鼠标锁定在注册点处。
(_DOWN, startDragFace); (_UP, stopDragFace); function startDragFace(e:MouseEvent):void { (true); } function stopDragFace(e:MouseEvent):void { (); }
设置限制区域
继续修改startDrag函数,给它加入一个限制区域。通过创建一个Rectangle对象来定义一个矩形区域,实现拖动的限制。
(_DOWN, startDragFace); (_UP, stopDragFace); function startDragFace(e:MouseEvent):void { (true, new Rectangle(50, 50, 300, 300)); } function stopDragFace(e:MouseEvent):void { (); }
限制拖动范围
经过以上修改,我们发现笑脸已经不能自由拖动了,在左边和右边有个地方就过不去了。这就提供了一种很好的边界判断方法,而且不用我们自己去判断。这种方法在滚动条组件的滑动条拖动中也常被使用。
以上就是关于AS3编程中元件拖动的高级教程,希望能够帮助大家更好地掌握这个技术。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。