2016 - 2024

感恩一路有你

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编程中元件拖动的高级教程,希望能够帮助大家更好地掌握这个技术。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。