AS2以前depth是可以随意设置的,负数都可以。AS3改成显示列表后,虽然某些方面是方便了,诸如插入这类操作,速度也快了,但在处理多个物品的相对层次又不好办了。
想了想,应该是要改变思路。其实也不能叫改变思路,像计算3维层次之类,本来就有一个Z轴排序的概念。
不是直接设置它的层次,而是统一进行一次排序。
在此备案吧。
想了想,应该是要改变思路。其实也不能叫改变思路,像计算3维层次之类,本来就有一个Z轴排序的概念。
不是直接设置它的层次,而是统一进行一次排序。
private function _sortDepth():void{
var _bo1:Boolean;
var _bo2:Boolean;
for (var _i = 0; _i < totalImgNum - 1; _i++){
for (var _j = _i+1 ; _j < totalImgNum; _j++){
_bo1=(Math.cos(cards[_i].degree*Math.PI/180)>Math.cos(cards[_j].degree*Math.PI/180))//排序依据,这里是一个圆形菜单,根据角度的cos值决定层次
_bo2=getChildIndex(cards[_i])>getChildIndex(cards[_j]);
if (_bo1!=_bo2){
swapChildren(cards[_i],cards[_j]);
}
}
}
}
在此备案吧。