![]() |
Реализация alwaysOnTop для DisplayObjecta
Вопрос вполне себе глупый, хочется изящного решения. Я не нашел ни одного эвента (поднимите мне веки) который отвечал бы за смену позиции объекта в дисплейлисте.
Простым решением было бы создать класс в котором будет один энетрфрейм и список объектов, который пополняется пользователем, на энтерфрэйм естественно проверяется на какой глубине лежат объекты, и в случае если они находятся не на самой высшей позиции перекинуть их туда. Вопрос: есть ли более изящное решение для такой ситуации? Вопрос на вопрос ("зачем?") не актуален. |
Код AS3:
UPD: Но уж никак не ENTER_FRAME. |
Еще можно перекрыть методы DisplayObjectContainer, которые меняют позицию объекта в дисплейлисте (addChild, addChildAt, removeChild, removeChildAt, setChildIndex, swapChildren, swapChildrenAt)
|
вы мне и stage предлагаете переписать? это далеко не изящное, а частное решение.
|
Цитата:
Нет, для этого есть класс SmartContainer, который можно добавить на stage. >> это далеко не изящное, а частное решение Любое решение — частное. Особенно то, которое не предусмотрено API. Вы хотите чтобы все автоматически работало как надо? Так не бывает, смиритесь. |
Вы не правы. Область видимости должна быть независимой.
Поэтому удобнее использовать тот способ который описал я. Взамен энтерфэйма может быть таймер. Решение которое предложил я универсальное, поэтому обойдемся без громких слов. И пожалуйста не надо меня поучать, я вполне компетентен, чтобы решить с чем смириться, а с чем нет. У кого еще есть идеи? И да пожалуйста не надо стараться изменить задачу. |
Код AS3:
|
| Часовой пояс GMT +4, время: 09:38. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.