![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Друзья, возник ещё один вопрос. Добавляю на сцену иконку, в классе которой предусмотрен TextField для всплывающей подсказки, которая появляется рядом при наведении мыши. Проблема в том, что если поблизости имеются другие компоненты, добавленные позже, то подсказка автоматически оказывается на более низкой глубине и частично перекрывается этими компонентами. Как сделать, чтобы всегда оказывалась поверх остальных?
|
|
|||||
|
Регистрация: Jan 2012
Сообщений: 836
|
Appleman добавь контейнер выше остальных и туда добавляй подсказку. Я бы вообще вынес подсказку в отдельный класс, ибо нечего ей делать в классе иконки
|
|
|||||
|
Цитата:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Цитата:
Да, имеются в виду именно они, спасибо за правильный термин. Можно подробнее про отдельный контроллер и статические методы? Как это должно работать? У меня тоже была мысль непосредственно на stage добавлять. Но необходимость дополнительного контроллера даже близко не понимаю пока. |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
а как же мантра что stage приложению не принадлежит и лежать там должен только главный контейнер - root?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Эта страсть неистребима, засорять стейдж разными выкидышами. Вот вроде ничего не мешает иметь специальный слой поверх всего прямо в главном Вью, никаких проблем СРАЗУ разделить все отображение по слоям, чтобы HUD был всегда поверх мира, слой для главных Меню — поверх HUDа, а подсказки поверх всего (кроме, может быть, слоя с экраном для видеозаставок). Но нет, проще выплюнуть что-нибудь на стейдж.
Статический класс для подсказок хорош тем, что предоставляет один ларек для обращений, или точку входа, или как там. Правда, всем непонятным элементам придется его импортить, чтоб зарегистрироваться, но если их не катастрофически много, то почему бы и нет (а если много, то явно интерфейс требует пересмотра — игрок не должен сидеть и в задумчивости наводить мыша на каждый объект на экране, вытаясь понять что это с помощью подсказок). Если в хинте (тултипе, сорри) раскрывается дополнительная информация (не ЧТО, а ПОЧЕМУ например), то другое дело.. Но тогда надо сначала продумать механику — будет ли элемент сообщать Менеджеру подсказок только текст подсказки, или будет передавать готовый ДисплейОбжект с картинками, шкалами и графиками, который соберет сам. А в остальном обычно делают так: элемент, который хочет рассказа о себе, регистрируется у Менеджера через статик метод register(), в который передает ссылку на себя и текст/готовый хинт, и может быть политику по размещению хинта (типа "сверху по центру, не двигать за мышкой"). Менеджер оформляет подписку на маусОвер/маусМув/маусАут для этого объекта и сохраняет текст/ДО и политику например в Dictionary. Когда с объектом случится запланированный наезд мышой, Менеджер закидывает его хинт в специальный высоколежащий слой для подсказок, а когда надо — вынимает его оттуда. Менеджер также должен предоставить метод unregister(), который объект вызовет перед смертью в своем методе destroy().
__________________
Reality.getBounds(this); |
|
|||||
|
Цитата:
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 483
|
Цитата:
Я потому и спрашиваю, что почуял, шняга какая-то выходит. Поясни, плиз, как размечать слои в главном вью? И как дочерние вью получат доступ к этим слоям? Цитата:
На счёт импортить и регистрироваться, я тоже думал об этом, но пришёл к тому, что правильнее всё-таки обращаться к подобному "статическому" классу, который предоставит объект "под ключ", чем каждый раз по отдельности ломиться за иконкой в один класс, за полем для подсказки - в другой, и за текстом - в третий. Цитата:
Цитата:
|
|
||||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Цитата:
Цитата:
что их будет не два и не три.
Цитата:
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
Цитата:
Кейс:флэшка грузится внутрь контейнера и владелец контейнера добавляет оверлей поверх флэшки и тут начинают выскакивать "выкидыши" поверх оверлея и вообще всего на свете. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|