如何设置某一物体始终处于其他物体最上方?
我做了有四个可拖动的小面版,我想让其中一个被点击拖动之后位置在最前,我现在实现不了这个效果,请高手来帮帮我。我现在是把四个面版分别放在了一个层里。如图3.3.86所示。

解决思路
我们主要没有运用要SwapDepth 函数,对于一般只能做出x轴及Y轴的FLASH画面来说,SwapDepth 便有那么一点Z轴也就是三维空间的味道。SwapDepth 函数可调整重叠顺序的电影符号
具体步骤
1、首先新建三个按纽 分别是“最大化”“最小化”和“感应条”。如图3.3.87所示。

2、新建一个影片剪辑,利用形状渐变动画做展开内容和收回内容的动画 。第1帧至第20帧是展开内容的动画,第31帧至第40帧是收回内容的动画, 在中间的关键帧和末尾关键帧添加as:
stop(); 限制其运动
如图3.3.88所示。
3、选择“感应条”按钮,打开as面板,添加as:
on (press) {
startDrag("");
_root.mc1.swapDepths("_root.mc"add _root:x);
setProperty("_root.mc1", _alpha, "100");
setProperty("_root.mc2", _alpha, "50");
setProperty("_root.mc3", _alpha, "50");
setProperty("_root.mc4", _alpha, "50");
_root:x = 1;
}
on (release) {
stopDrag();
}
4、分别选择“最大化”按钮和“最小化”按钮,添加as:
最小化按纽上的AS:
on (release) {
gotoAndPlay(22);
}
最大化按纽上的AS:
on (release) {
gotoAndPlay(1);
}
1、 分别新建影片剪辑2,3,4。按照步骤3的做法,绘制三个影片剪辑,选中各个影片剪辑中的“感应条”按钮,添加对应的as:
root.mc1.swapDepths("_root.mc"add _root:x);
分别改成root.mc2.swapDepths("_root.mc"add _root:x);
root.mc3.swapDepths("_root.mc"add _root:x);
root.mc4.swapDepths("_root.mc"add _root:x);
_root:x = 1;改成 _root:x = 2; _root:x = 3;_root:x = 4;
“最大化”和“最小化”按钮上面的as不变。
2、 返回到主场景,从库中把影片剪辑1,2,3,4分别拖放到场景中的适当位置。在属性面板中给四个影片剪辑分别命名为“mc1”“mc2”“mc3”和“mc4”。
3、 选中主场景的第1帧,添加as;
stop();
x = "1";
setProperty("_root.mc1", _alpha, "100");
setProperty("_root.mc2", _alpha, "100");
setProperty("_root.mc3", _alpha, "100");
setProperty("_root.mc4", _alpha, "100");
保存,测试。请参看源文件“设置移动物体在最上方”。
