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 < th; i ) {
if (arr[i] == mc) {
numI = i;
break;
}
}
//移位並用Depths()換深度
if(numI>num){
for(var i=numI;i>0;i--){
trace("i" i)
arr[i]Depths(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]Depths(arr[i 1])
var mcTem:MovieClip=arr[i]
arr[i]=arr[i 1]
arr[i 1]=mcTem
}
}
}
//smallerbird 2008-5-9
//flash原創程式碼盡在
lease = function ()
{
trace(_)
setDepth (_1, 0, _);
trace(_)
};
lease = function ()
{
setDepth (_2, 0, _);
};
lease = function ()
{
setDepth (_3, 0, _);
};
lease = function ()
{
setDepth (_4, 0, _);
};