flash as代码(菜鸟勿扰)

来源:百度知道 编辑:UC知道 时间:2024/05/08 08:07:27
几个影片剪辑堆叠在一起

求代码:
当鼠标经过:
影片剪辑的z高度 (就是遮挡顺序)等于 最大(放在堆叠的上面)
当鼠标离开:
影片剪辑的z高度 (就是遮挡顺序)等于 最小(放在堆叠的下面)
1
------我自己做的代码 感觉繁琐了————

on (rollOver, dragOver) {
i=1;
duplicateMovieClip("m"+i, "F"+i, i);
}
on (rollOut, dragOut) {
removeMovieClip("F"+i);
i++;
}
-------那位的答案还是不对哦--------
——你还是看这个代码来修改吧———
http://new.ibw.cn/cctsw/upload/2008-6/200861940752065.swf
现在是这个效果 我希望效果更好一点!

你在场景里放几个影片剪辑,命名为 m1 m2 m3.....
在时间轴上新建一层,在空白帧里写上代码:
for (i=1; i<5; i++) {
name = "m"+i;
_root[name].onEnterFrame = function() {
this.onPress = function() {
depth = _root.getNextHighestDepth();
this.swapDepths(_root.depth);
};
};
}
这个i<5,可以随便修改的。如果你有10个原件 m1 m2 m3 .... m10,那就改为 i<11
不好意思没注意看你的要求。
for (i=1; i<5; i++) {
name = "m"+i;
_root[name].onEnterFrame = function() {
this.onRollOver = function() {
depth1 = this.getDepth();
depth2 = _root.getNextHighestDepth();
this.swapDepths(depth2);
};
this.onRollOut = function() {
depth2 = depth1;
this.swapDepths(depth2);
};
};
}
这样就可以了。

我自己测试了,效果和你给我看的例子是一样的。不可能不对吧。你要是不相信,我发我刚做的源文件给你。

楼上的思路正确```但细节有点问题
1,不需要onEnterFrame
2,for语句里: 要小于等于.
稍做修改:

depth = getNextHighestDepth(); //depth存放当前可用最高Z序层次<