电脑任务栏功能模拟(上传有源代码)
var positionArray:Array = new Array();
nums = 5;
for (j=1; j0) {
//如果SNO大于0,则说明了,是有SS在位置POS+2上的.
_root["ss"+sno]._x = _root["ss"+sno]._x-80;
_root["ss"+sno].pos = _root["ss"+sno].pos-1;
//以上两个都是设置位于POS+2上的SS的属性
positionArray[i-1] = positionArray;
//这里是设置位置数组上的值.都是向前移
} else {
//如果SNO小于0,则是说明了,在第POS+2的位置上是没有SS的存在的.
positionArray[i-1] = 0;
//所以就是将第i-1个位置设置为空
}
}
//////////////////////////////////////////////////
} else {
//前有,后无
_root["ss"+pre].nex = 0;
//因为被点击的SS的后面是没有的.所以只将前一个SS的NEX属性设置为0就行了.
positionArray[pos] = 0;
//被点击了SS在点击后是会消失的,由于它后面没有的SS的存在,所以就将这个位置设置为空
}
} else {
//"前无后有"这个情况下只需设置后一个SS的PRE属性以及位置及运动;
if (nex>0) {
positionArray[pos] = positionArray[pos+1];
//将前一个位置上的SS编号移到这个被点击的位置上
_root["ss"+nex].pre = 0;
//将后一个SS的NEX属性设置为0
_root["ss"+nex].pos = _root["ss"+nex].pos-1;
_root["ss"+nex]._x = _root["ss"+nex]._x-80;
//将后一个的位置及X坐标都向前推移.
//////////////////////////////////////以下的一个FOR循环是来使在位于POS+2个位置上的SS向前移一个位置.解释
同上
for (i=pos+2; i0) {
_root["ss"+sno]._x = _root["ss"+sno]._x-80;
_root["ss"+sno].pos = _root["ss"+sno].pos-1;
positionArray[i-1] = positionArray;
} else {
positionArray[i-1] = 0;
}
}
///////////////////////////////////////////
} else {
//前无,后无
positionArray[pos] = 0;
//当只有一个SS在任务栏的时侯,当被点击后.要将空上位置设置为空.
for (j=1; j0) {
//当preno大于0,则说明在它的前一个位置也就是第j-1个位置上是有SS的存在的
_root["ss"+this._parent.no].pre = preno;
//每一个被点击出来的SS,都要记录起放在它前面的那个SS(也就是第j-1个SS)的编号到底是什么.
_root["ss"+preno].nex = this._parent.no;
//在它前一个位置上的SS的nex属性就要设置了.因为在它前一个位置也就是第j-1个位置的后面有了
SS的存在的.
} else {
//当preno小于0,则说明在它的前一个位置也就是第j-1个位置上根本就没有SS的存在的,则下面将它
的pre属性设置为0
_root["ss"+this._parent.no].pre = 0;
}
break;
}
}
}
};
}
//ss.staut状态,是显示还是隐藏(既是在场景外)
//ss.position记录当其状态为显示时,所在的位置
//ss.no为唯一编号.
//positionArray记录在任务栏中的哪个位置被占有了.
//ss.pre在任务栏显示的SS的前一个SS //pre.nex在任务栏显示的SS的后一个SSSample Text
(173.25 KB)
2006-10-19 11:58
(91.34 KB)
2006-10-19 11:58