Всплывающая подсказка для ActionScript 3.0

Создание всплывающей подсказки (также известной как tooltip) для флеш-проектов - задача распространённая. А, следовательно, её уже много раз кто-то решал до нас. Нет, конечно можно создать свою функцию или класс, реализующие tooltip. Но стоит ли изобретать велосипед. Тем более, наше решение может оказаться не таким изящным и удобным...

В свете сказанного выше, этот пост я решил посвятить рассмотрению одного очень полезного класса, найденного мною в варварском сегменте сети. Это класс ToolTip и, как явствует из названия, он создан именно для реализации всплывающих подсказок в флеш-проектах на ActionScript 3.0. Конечно, это не идеальное решение. Но лично меня эта реализация подкупила своей простотой и удобством (как я понял, именно к этому и стремился разработчик данного класса).

Сам класс будет идти в комплекте с исходником (смотри ссылку внизу поста). А сейчас рассмотрим способ применения данного класса в наших проектах.

Использовать его очень просто. Конечно, изначально мы должны импортировать сам класс ToolTip (если он лежит в одной папке с нашим флеш-проектом, то это действие становится необязательным). После того, как класс подключен, инициализируем всплывающую подсказку.

Код ActionScript 3.0:

ToolTip.init(stage, {textalign: 'center', opacity: 50, default_delay: 500});

Здесь в качестве первого параметра указан контейнер для нашей всплывающей подсказки. А в фигурных скобках идут настройки:

1.) выравнивание текста;

2.) прозрачность в диапазоне от 0 до 100 (!);

3.) задержка появления всплывающей подсказки в миллисекундах.

Теперь, если вам надо создать подсказку для какого-либо объекта на сцене флеш-ролика, просто вызываете метод attach() и передаёте ему в качестве параметров:

1.) сам объект, для которого создаётся всплывающая подсказка;

2.) текст-комментарий, который будет размещён в подсказке.

Код ActionScript 3.0:

ToolTip.attach(btn, "Это всплывающая подсказка!");

Практический пример использования класса ToolTip может выглядеть следующим образом...

Код ActionScript 3.0:

/* Задаём настройки для будущей всплывающей подсказки. */ ToolTip.init(stage, {textalign: 'center', opacity: 50, default_delay: 500}); /* Создаём саму всплывающую подсказку. */ ToolTip.attach(btn, 'Это кнопка!');

Для форматирования текста подсказки можно использовать HTML-теги (но помните, что флеш поддерживает только небольшую часть HTML-тегов). Для примера создадим всплывающую подсказку, в которой текст будет выделен жирным шрифтом и подчёркиванием.

Код ActionScript 3.0:

ToolTip.init(stage, {textalign: 'center', opacity: 50, default_delay: 500}); ToolTip.attach(btn, '<u><b>Это кнопка!</b></u>');

Если текст всплывающей подсказки очень большой, то его следует отформатировать с помощью переносов строки. Перенос строки можно задать HTML-тегом BR или через \n.

Код ActionScript 3.0:

ToolTip.init(stage, {textalign: 'center', opacity: 50, default_delay: 500}); ToolTip.attach(btn, 'Это кнопка и она знает анекдот:\nПодвыпивший мужичонка, из дальней деревни,\n обращается на городском вокзале к стражу порядка:\n- Здравствуйте, товарищ милиционер, будьте добреньки…\n- Не товарищ, а господин!\n- Извините, господин милиционер, будьте добреньки…\n- Не милиционер, а полицейский!\n- О!!! Извините, господин полицейский… а, что немцы - давно в городе?');

Ну а теперь пора привести наглядный пример использования данного класса. Вот и сам пример:

Загрузить Adobe Flash Player

Наводим на кнопки и смотрим на реакцию...

Исходник под Adobe Flash CS5.5 и сам класс ToolTip можно скачать здесь.

Вот и всё.

Исправление

Как справедливо заметил тёзка из комментариев, свойство default delay надо писать через нижнее подчёркивание: default_delay. Спасибо Дмитрию, что обратил на это внимание :-)

Автор: admin

Дата добавления: 2011-10-21

Просмотров: 7807

Рейтинг поста: +15-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2016-03-12
Спасибо, поправил.
Комментатор
Комментарий добавил(а): Дмитрий
Дата добавления: 2016-03-11
Не работает так задержка
Нужно писать
default_delay: 500
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-08-09
Третий параметр устанавливает задержку (в миллисекундах), которая отличается от задержки по умолчанию:

ToolTip.attach(btn, "Это кнопка!", 2000);
Комментатор
Комментарий добавил(а): Роман
Дата добавления: 2013-08-09
Как сделать две подсказки с разной задержкой на появление?
Комментатор
Комментарий добавил(а): Светулька
Дата добавления: 2013-02-27
Спасибо большое автору, все получилось и все работает=)))
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2012-05-23
Считаю, что не стоит подобным образом загружать картинки. Вообще, такой способ загрузки изображений во flash используется крайне редко и на то есть свои причины. Есть для этого другие готовые решения. Или самому написать свою всплывающую подсказку :-)
Комментатор
Комментарий добавил(а): Zubat
Дата добавления: 2012-05-22
А как сюда можно добавить еще добавление каринки? если добавить '<'img src="">',то ругается на таймер)
подскажите,пожалуйста?
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика