|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|
|||||
Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
|
Как сделать связь между Y и ChildIndex мувиклипа? (Z-последовательность) #Решено
Всем привет! Помогите кому не лень)
Есть массив с клипами которые добавляются поочередно и также по ходу дела могут быть удалены. Мне же нужно что бы было так: чем больше у клипа Y тем меньше его позиция индекса в списке дочерних элементов относительно всех остальных клипов в массиве. Как это реализовать? #Решено! Спасибо callme addChild(clip); plant_arr.push(clip); clip_arr.sortOn("y", Array.NUMERIC); for (var i:int = 0; i < clip_arr.length; i++) { addChild(clip_arr[i]); } Последний раз редактировалось zCHESNOKz; 23.12.2015 в 23:43. |
|
|||||
Если массив имеется ввиду обычный массив или вектор, то у них есть метод sort, куда можно передать нужную функцию для сортировки.
Если надо сортировать детей DisplayObjectContainer, то придётся написать алгоритм сортировки самостоятельно. Пригодится метод swapChildrenAt.
__________________
Дети не должны знать о своих родителях |
|
|||||
Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
|
Цитата:
только как?( Последний раз редактировалось zCHESNOKz; 02.12.2015 в 20:25. |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
var clips:Array = new Array(); var clip1:MovieClip = new MovieClip(); clip1.y = 10; var clip2:MovieClip = new MovieClip(); clip2.y = 70; var clip3:MovieClip = new MovieClip(); clip3.y = 50; clips.push(clip1); clips.push(clip2); clips.push(clip3); clips.sortOn('y', Array.NUMERIC); for (var i:int = 0; i < clips.length; i++) { addChild(clips[i]); } |
|
|||||
Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
|
Цитата:
Я понял. Я тоже сортировал массив по 'y'. А дальше, как относительно положения в (отсортированном) массиве расположить графические объекты с нужным положением глубины отображения? |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Цитата:
Каждый раз после сортировки надо выполнять вот этот код: |
|
|||||
Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
|
Цитата:
И в правду, насколько это будет пагубно влиять на производительность? Если допустим объектов будит до 30, не говорю уже больше 100. А можно ли это использовать в изометрии? Там ведь тоже много объектов. Или в изометрии все как то иначе? Последний раз редактировалось zCHESNOKz; 04.12.2015 в 11:49. |
|
|||||
callme,
Скорее всего, человеку нужно сортировать динамический список отображения, поэтому такой хитрый план с отдельным массивом не подойдёт. zCHESNOKz, Вам просто нужно обойти список отображения особым способом. То есть, используя один из алгоритмов сортировок. Готового решения у меня нету.
__________________
Дети не должны знать о своих родителях |
|
|||||
Регистрация: May 2013
Адрес: (0, 0)
Сообщений: 176
|
Цитата:
Это получается как в изометрии. Или там как то проще все считается? |
|
|||||
Цитата:
|
Часовой пояс GMT +4, время: 18:52. |
|
« Предыдущая тема | Следующая тема » |
|
|