Есть ли у кого-нибудь предложения по хорошему методу управления списком отображения в проекте ActionScript 3? Я создаю приложение в настоящий момент, и отслеживание всех модулей, которые необходимо отобразить, и их переупорядочение стало громоздким. Я загрузил swfs и экземпляры классов, которые также загружаются в swfs, изображения и видео. Должен ли я просто ссылаться на все на сцену? Как мне отслеживать дерево отображения? Как я могу заставить один конкретный модуль к вершине дерева?управление списком списков в actionscript 3 приложения
ответ
Я использую контейнеры DisplayObjects и позволяю каждому DisplayObject управлять своими прямыми детьми (родители рассказывают детям, что делать). Обычно вы можете разбивать свой список отображения на естественные «слои», которые могут быть в собственных контейнерах.
Таким образом, основным контейнерам не нужно менять глубину, поэтому вы знаете, что последний контейнер, добавленный на сцену, будет сверху.
Также, чтобы заставить DisplayObject в верхней части экранного списка, просто используйте addChild (даже если он уже добавлен). Это добавит его в начало списка.
Использование контейнеров, как упомянуто, является лучшим способом. Контейнеры - ваш друг.
Использование addChild(), чтобы заставить что-то в верхней части списка работать, но может быть изнурительным, если вам нужно делать это 50 000 раз по всему вашему коду, и более того, когда вы получаете несколько вещей, которые вам нужно сохранить наверху ни на что.
Так что я делаю, так это то, что я создаю массив приоритетных глубинных стеков в моем классе документов, к которому я добавляю все, что хочу «сверху» все время, независимо от того, что и когда я делаю какую-либо вопиющую работу на сцене как выключение основного экранного объекта, я просто использую метод под названием «RunDepthStack», который перебирает массив и повторно добавляет все в массив.
Вы даже можете получить очень мета об этом и добавлять объекты в массив, которые даже не обязательно на сцене, вызвав
object.parent.addChild(object);
, который позволит вам управлять приоритезированных DisplayObjects независимо от их емкости с один супер метод ...
Теперь, если у вас очень сложный интерфейс, вам нужно будет получить более подробный характер, но я не подозреваю, что это ваша проблема прямо сейчас.
Мне нравится эта идея, у вас есть пример того, как вы ее реализовали? спасибо ;-) – martin
учиться делать! Никто меня не научил, гангста. –
Мне действительно не нравится идея детей, рассказывающих родителям, что делать! –
Если приложение является большим, я бы добавил AddChild/removeChild, когда пользователь взаимодействует с приложением.
Если, однако, он довольно мал, прост хорошо видно, что истина/ложь это хорошо.
Похоже, что вы в первом случае.
Но да, определенно используйте класс/объект в качестве вашей карты сайта, которая используется для заполнения вашей навигации, отслеживает ссылки на модули, в которых находится пользователь, и которые могут использоваться для развязки.
Что касается глубины свопинга, я полагаю, вы говорите о визуальной глубины, реализовать эти :)
setChildIndex(example,0); // send to back
setChildIndex(example,numChildren - 1); // bring to front
своп между:
var otherindex = getChildIndex(theotherthing);
Позади этой вещи:
setChildIndex(example, otherindex) //pushes the other thing forward
Спереди:
setChildIndex(example, otherindex + 1);
HTH.
- 1. Actionscript 3: Управление клипом
- 2. Управление списком в окне приложения
- 3. Caliburn micro и управление списком списков
- 4. Управление списком
- 5. Управление списком и списком данных фреймов
- 6. Управление списком
- 7. Печать в Actionscript 3
- 8. Манипуляция списком списков в Python
- 9. Управление списком свойств
- 10. разница между списком списков
- 11. список Matching списков с другим списком списков
- 12. Управление списком и списком значений в Erlang
- 13. Управление временной шкалой ActionScript
- 14. Управление списком Python для анаграмм
- 15. actionscript 2 to actionscript 3
- 16. Загрузка XML в Actionscript 3
- 17. управление эксклюзивным списком в UITableView
- 18. XML в ActionScript 3
- 19. Многопоточность в ActionScript 3
- 20. Сцены в ActionScript 3
- 21. Unserialize в ActionScript 3
- 22. XML в ActionScript 3?
- 23. Перетаскивание в Actionscript 3
- 24. addChild() в Actionscript 3
- 25. .currentFrame в ActionScript 3
- 26. Actionscript 2 преобразуется в Actionscript 3
- 27. Синтаксис исправления ActionScript-3 в ActionScript-2
- 28. Преобразование скрипта ActionScript 2 в ActionScript 3
- 29. Actionscript 3 Необходимость в браузере
- 30. Управление ActionScript 3 с динамически загружаемым текстовым файлом
Это похоже на хороший старт, спасибо ;-) – martin