用Flash MX制作交互式的课件时,很多场合都需要用到拖动。在Flash MX中主要的拖动方式有以下三种:无任何约束的拖动、限制在某一矩形范围内的拖动、限制在某一路径上的拖动。下面通过实例加以说明。
1. 无任何约束的拖动
(1)打开“插入”菜单的“新建元件”命令,在“创建新元件”对话框中,“名称”框内输入“球”,“行为”选择“影片剪接”。
(2)画一个圆,最好是让圆心和影片剪接的中心对齐。
(3)选择主场景,按F11打开“库”面板,将刚制作好的球拖动至主场景中。
(4)选择主场景中的球,打开窗口下方的“属性”面板,在名称框内输入名称ball。
(5)右击ball,选择“动作”命令,在代码编辑框内输入:
on(press)
{
startDrag("",true);//允许拖动ball
}
on(release, releaseOutside)
{
stopDrag();//释放鼠标时,停止拖动ball
}
(6)拖动ball,我们将看到ball可以拖动到场景中的任意位置,释放鼠标时,ball将停止拖动。
2. 约束某一矩形范围内的拖动
将以上代码改为:
on(press)
{
//限制拖动范围为(0,0)到(100,100)之间,注意坐标原点位于场景中的左上角。
startDrag("",true,0,0,100,100); }
on(release, releaseOutside)
{
stopDrag();
}
再拖动ball,将看到ball被限制在某一区域内拖动。
3. 沿某一路径的拖动
在某些场合,如通过拖动动态生成数学函数图像时,因为函数图像都有一个函数式约束,决定了以上两种方法都不可行。这种拖动的关键在于要根据约束条件来决定被拖动对象的位置。下面以动态生成圆来说明此类拖动问题的解决方法。
(1)通过“插入”菜单制作一个名为“点”的电影剪接,画一个小点表示该电影剪接,注意点的中心和电影剪接的中心点重合。
(2)转到主场景,新增一图层,将两图层分别命名为“脚本”和“对象”。
(3)选择“对象”时间轴,在场景中加入两个“点”的实例,在它们的属性面板中分别命名为“yuanxi”(表示圆心)和“dian”(表示圆周上的点),让它们适当保持一定的距离,并且让“yuanxi”位于场景的中央。
|