Четверг, 28 Марта 2024, 23:54

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Сортировка глубины в as3 (Отсортировать глубину по координате Y)
Сортировка глубины в as3
triptixДата: Среда, 03 Июля 2013, 11:59 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Помогите сделать сортировку клипов по глубине, в зависимости от координаты y (удаленности)
В интернете нашел такой код
Код

public function zSort(e:Event):void {   
   personages.sortOn(['y','name'],[Array.NUMERIC,Array.DESCENDING]);
   var l:int = personages.length;
   while (l--) {
    var o:DisplayObject = personages[l] as DisplayObject;
    if (containerObjects.getChildAt(l) != o) containerObjects.setChildIndex(o, l);
   }
}


оригинал

В примере personages - массив мувиков, болтающихся по сцене, containerObjects - контейнер, в котором они все находятся.

Вопрос: как задать контейнер containerObjects? Откуда он берется?
Если при создании чилдов добавлять containerObjects.addChild(players), то в начале класса следует прописать, что такое containerObjects. Как это сделать?

Код
var containerObjects:DisplayObjectContainer = new?


Сообщение отредактировал triptix - Среда, 03 Июля 2013, 12:00
TheAceДата: Среда, 03 Июля 2013, 14:11 | Сообщение # 2
Pain is Pleasure
Сейчас нет на сайте
triptix, containerObject - объект, в котором находятся нужные тебе объекты.
Гм, походу я говняно объяснил.

В общем и целом, containerObject в большинстве случаев - parent.


The End [3D][TPS]
triptixДата: Среда, 03 Июля 2013, 14:21 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
TheAce, Как его использовать? Где и как объявить, или это не требуется?
TheAceДата: Среда, 03 Июля 2013, 17:43 | Сообщение # 4
Pain is Pleasure
Сейчас нет на сайте
triptix, используй parent.

The End [3D][TPS]
triptixДата: Среда, 03 Июля 2013, 18:20 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
TheAce, как? Напиши хотя бы пример
shubniggurathДата: Среда, 03 Июля 2013, 21:18 | Сообщение # 6
www.playnoread.com
Сейчас нет на сайте
triptix, где находяться твои мувики?

Учу 3д!
TreinDSMДата: Воскресенье, 14 Июля 2013, 09:08 | Сообщение # 7
почетный гость
Сейчас нет на сайте
triptix, containerObjects - это контейнер, в котором находятся сортируемые объекты. Либо пишите имя своего контейнера, либо обращайтесь к свойству parent.

Код
var o:DisplayObject = personages[l] as DisplayObject;
     if (o.parent.getChildAt(l) != o) o.parent.setChildIndex(o, l);


Стоит заметить, что если какой-то из сортируемых объектов не будет добавлен в некоторый контейнер, то будет ошибка. Также, если parent'ы у разных объектов из списка будут разными (объекты лежат в разных контейнерах), то такая сортировка теряет смысл.
triptixДата: Среда, 18 Декабря 2013, 12:40 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
TreinDSM, при parent все мувики исчезают со сцены.

Добавлено (18.12.2013, 12:40)
---------------------------------------------
Разобрался все таки (спустя столько времени опять понадобилось)
Можно контейнер делать как мувик

Код
var container:MovieClip = new MovieClip()
addChild(container)

parent не работал так как содержит в себе вообще все обьекты сцены (в том числе рисованный фон и тп)
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Сортировка глубины в as3 (Отсортировать глубину по координате Y)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг