![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2010
Сообщений: 42
|
Привет, такой вопрос.
Допустим, есть игра, в которой куча элементов, куча разных экранов и тд. Необходимо сделать тултипы к нужным элементам таким образом, чтобы они (тултипы) показывались всегда поверх остальных элементов и перемещались за курсором. Я не могу придумать, как это все можно организовать таким образом, чтобы для каждого модуля не писать свой код тултипов. Допустим, есть экран генерации персонажа. Написал тултипы для этого экрана. Потом перешли в туториал, там тоже тултипы, потом в условную кузницу, там тоже тултипы. Есть ли вариант каким-то образом упростить задачу? Прошу прощения за сумбурность, немного голова едет, ничего не придумывается. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
|
Цитата:
Подхода к навешиванию тултипа на компонент знаю 3: 1. Регистрация компонента, над которым нужно показать тултип в глобальном классе с хранилищем всех связей и удаление регистрации при убирании компонента с экрана Никогда не используйте этот подход. Окромя утечек памяти и кучи кода регистрации/разрегистрации никаких удобств не получите 2. Создание для каждого компонента объекта TooltipHandler, который сам подписывается на события мыши компонента, имеет ссылку на глобальный регистр тултипов, если оно надо, и который спокойно отправляется в небытиё вместе с компонентом, на который навешан. Компоненты нифига не должны реализовывать - можно навесить тултип на что угодно, хоть на простой спрайт. Что показывать, какой текст или картинку указывается в самом экземпляре TooltipHandler при навешивании. 3. Ловля событий MOUSE_OVER и MOUSE_OUT (не ROLL OVER/OUT - они не всплывают!) на stage, поиск через target события компонента, который реализует интерфейс ITooltipable с полем data, который говорит что показывать. Здесь недостатком является необходимость реализации интерфейса. Это серьезный недостаток: вот есть у вас сторонняя кнопка и чё теперь, её наследовать и интерфейс реализовывать? Как над всеми компонентами показывать? Пути здесь 2: - просто добавляем новый тултип на stage - он оказывается выше всех - делаем новый Sprite, добавяем его вначале поверх всех остальных контейнеров и далее создаём тултипы на нём Тултиповая система с преферансом и поэтессами, но на haXe (примеры в том же репозитоии и скомпилированные в swf тоже есть): https://github.com/cser/temperate/tr...erate/tooltips Но, возможно, Вам не надо столько поэтесс (тем более там нельзя сделать плавное перетекание тултипа с компонента на компонент и другие вещи) и вы сами соберёте что-то простое за пару часов. |
|
|||||
|
Юзаю иногда этот простой и удобный ToolTip class
__________________
In Code We Trust |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:22. |
|
|
« Предыдущая тема | Следующая тема » |
|
|