当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > mc深度的排序值设置方法

ActionScript
FLASH AS3与网页JS参数值传递的问题
Flash AS3的parameters对象处理网页参数
Flash教程 认识Flash ActionScript的环境
Flash ActionScript编程基础
Flash AS3代码实现鼠标跟随喷枪涂鸦效果
falsh 跨域调用配置
Flash AS3.0 实例教程 喷泉动画特效
AS3 Loader与URLLoader的比较
ColorTransform类调整显示对象的颜色值
Flash AS3 快速制作烟雾动画
Flash AS3 制作文字飞出动画
ActionScript 学习小心得
ActionScript3.0读取网页FlashVars中的参数的问题
通过实例学习AS3.0:案例三
通过实例学习Flash AS3.0:案例四
通过实例学习Flash AS3.0:案例五
通过实例学习Flash AS3.0:案例六
Flash教程:认识Flash ActionScript的环境
Flash as入门(1):认识AS面板
Flash as入门(3):AS基本语法

ActionScript 中的 mc深度的排序值设置方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 74 ::
收藏到网摘: n/a

mc电影符号设置深度值的方法
在程序的过程,我们会常换多个mc深度,让它叠在上边。flash给我提供只有:两个mc深度的互换,却没有设置深度值的方法.
本人设计了一个方法,就是可以设置mc深度的排序值。不过前提就是这些mc已级把深度排序好,放在一个数组里。这个没有什么问题。
我们在程序生成的时候,完全可以做到一点。试试吧。




Flash: a 全屏浏览

代码如下:
//电影符号深度从小到大
var arr:Array = [mc4, mc3, mc2, mc1];
//setDepth (mc:要指定深度的电影符号,位置(注:从0开始), 排序数组)
function setDepth (mc:MovieClip, num:Number, arr:Array)
{
//找到设置深度mc的位置
var numI:Number = 0;
for (var i = 0; i < arr.length; i  ) {
if (arr[i] == mc) {
numI = i;
break;
}
}
//移位并用mc.swapDepths()换深度
if(numI>num){
for(var i=numI;i>0;i--){
trace("i" i)
arr[i].swapDepths(arr[i-1])
var mcTem:MovieClip=arr[i]
arr[i]=arr[i-1]
arr[i-1]=mcTem
}
}else if(numI<num){
for(var i=0;i<numI;i  ){
arr[i].swapDepths(arr[i 1])
var mcTem:MovieClip=arr[i]
arr[i]=arr[i 1]
arr[i 1]=mcTem
}
}
}
//smallerbird 2008-5-9
//flash原创代码尽在 www.ruanchen.com
bt1.onRelease = function ()
{
trace(_root.arr)
setDepth (_root.mc1, 0, _root.arr);
trace(_root.arr)
};
bt2.onRelease = function ()
{
setDepth (_root.mc2, 0, _root.arr);
};
bt3.onRelease = function ()
{
setDepth (_root.mc3, 0, _root.arr);
};
bt4.onRelease = function ()
{
setDepth (_root.mc4, 0, _root.arr);
};