Есть ли какие-нибудь умные люди, которые могут сказать мне, почему эта функция, над которой я работаю, чтобы автоматически сортировать глубины объектов, помещенных в трехмерную плоскость, работает только периодически?Кажется, работает каждая вторая или третья итерация?
function zsort(h){
var zpos=[] //array to store Z positions
var mc,mcZpos
for(var i=0; i<h.numChildren-1; i++){
mc = h.getChildAt(i);
mcZpos=(mc.z - (Math.sin(mc.rotationX) * mc.height/2)) //get lowest Z point based on X rotation
zpos.push([mcZpos, mc])
}
zpos.sort()
for(i in zpos){
h.setChildIndex(zpos[i][1], h.numChildren-1)
}
}
Является ли getChildAt (i) надежным?IE возвращает один и тот же порядок каждый раз при запуске или основан на глубине?
РЕДАКТИРОВАТЬ: глядя на руководство, можно предположить, что это, вероятно, последнее, поэтому я предполагаю, что мне нужно будет упорядочить свой собственный массив к тому времени, когда спрайты были добавлены в родительский объект, и работать оттуда.Есть ли лучший способ?