![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2006
Сообщений: 253
|
Сайлас, спасибо большое, но я еще в AS3 новичок, не сумею к сожалению воспользоваться вашим трудом.(разве что обьяснить
)Как мне советовали загнал в массивы данные по scaleY и имени мувика, посортировал его, но почему-то слои установить не выходит rec_array.sortOn(["xik", "name1"], Array.DESCENDING|Array.NUMERIC );
for(i=0; i<rec_array.length; i++){
thumb=rec_array[i].name1;
trace("Before: "+rec_array[i].dep);
allpicholder.setChildIndex(thumb, rec_array[i].dep-1);
//allpicholder содержит все мувики, которые нужно посортировать
trace("After: "+allpicholder.getChildIndex(thumb));
// индекс мувиков до и после setChildIndex одинаковый
}
__________________
Living with the smile |
|
|||||
|
для контейнера, содержащего ТОЛЬКО объекты, подлежащие сортировке, можно просто удалить всех, а потом поставить в новом порядке:
private function sortChilds():void
{
var indxArr:Array = [];
var len:int = numChildren;
while (numChildren > 0)
{
var child:DisplayObject = getChildAt(0);
indxArr.push({ child:child, z: zOrder(child)});//zOrder - метод, возвращающий критерий глубины (scaleY, например)
removeChild(child);
}
indxArr.sortOn("z", Array.NUMERIC | Array.DESCENDING );
for (var i:int = 0; i < len; i++)
{
addChild(indxArr[i].f);
}
}
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 259
|
Удалять плохо - будет веселое перемигивание
allpicholder отнаследуйте от MovieClip или Sprite и добавьте мои методы, раз это контейнер всех необходимых объектов. Не надо будет привязываться ни к имени, ни к scaleX, сами будете задавать зОрдер, хоть рандомом, хоть как. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 259
|
А если придется еще раз удалить и добавить или в зОрдере что-то поменять?
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 259
|
Ну если динамически изменить зордер и вызвать функцию, где ремувится и добавляется, то дисплейобджект будет мигать
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 259
|
Ну смотри, если по циклу сделать removeChild, а потом делать addChild, то будет небольшое мигание... По крайней мере у меня так происходит
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:36. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|