ActionScript: создание ссылок в текстовых полях

В ActionScript для красивого оформления ссылок в текстовых полях можно использовать так называемые селекторы псевдоклассов. Я думаю, что они хорошо известны тем, кто знаком с языком CSS. Для флеш-приложений доступны следующие селекторы псевдоклассов:

- link - элемент гиперссылки (тег <a>);

- hover - элемент гиперссылки, над которым находиться указатель мышки;

- active - активированный элемент гиперссылки, то есть элемент в момент щелчка по нему указателя мышки.

Как не трудно догадаться, все перечисленные выше селекторы псевдоклассов применимы только к ссылкам (тег <a>). Это позволяет нам реализовать в наших флеш-проектак такое поведение ссылок в текстовых полях, которое напоминает поведение гиперссылок на HTML-страницах. Выглядеть это может, например, так...

Пример:

Как это реализуется на ActionScript 3.0? Всё просто. Смотрите сами.

Код ActionScript 3.0:

/* импортируем классы */ import flash.text.TextField; import flash.text.StyleSheet; /* создаём таблицу стилей */ var css:StyleSheet = new StyleSheet(); css.setStyle("a",{fontSize:20,textDecoration:"underline"}); css.setStyle("a:link",{color:"#000099"}); css.setStyle("a:hover",{color:"#ff0000"}); css.setStyle("a:active",{color:"#009900"}); /* создаём текстовое поле */ var tf:TextField = new TextField(); addChild(tf); tf.width = 450; tf.height = 300; tf.x = 50; tf.y = 50; tf.multiline = true; tf.wordWrap = true; /* применяем таблицу стилей к данному текстовому полю */ tf.styleSheet = css; /* присваиваем нашему текстовому полю содержимое с html-разметкой */ tf.htmlText = 'Навигация по сайту:<br><br>'; tf.htmlText += '<a href="http://edapskov.ru/index.php">Главная страница</a><br>'; tf.htmlText += '<a href="http://edapskov.ru/guestbook.php">Гостевая</a><br>'; tf.htmlText += '<a href="download.php">Скачать</a><br>'; tf.htmlText += '<a href="faq.php">FAQ</a><br>';

Теперь ссылки в текстовом поле будут выделены синим цветом (color:"#000099") и подчёркиванием (textDecoration:"underline"), как это обычно имеет место и на веб-страницах. Если пользователь наведёт курсор мышки на гиперссылку, то эта ссылка поменяет свой цвет на красный (color:"#ff0000"). А если пользователь кликнет по ссылке, то она на миг станет зелёной (color:"#009900"). Как видите, ничего сложного.

Теперь тоже самое, но уже на ActionScript 2.0...

Код ActionScript 2.0:

/* импортируем класс */ import TextField.StyleSheet; /* создаём таблицу стилей */ var css:StyleSheet = new StyleSheet(); css.setStyle("a",{fontSize:20,textDecoration:"underline"}); css.setStyle("a:link",{color:"#000099"}); css.setStyle("a:hover",{color:"#ff0000"}); css.setStyle("a:active",{color:"#009900"}); /* создаём текстовое поле и присваиваем ему ранее созданные css-правила */ this.createTextField("tf",0,50,50,450,300); tf.multiline = true; tf.wordWrap = true; tf.html = true; tf.styleSheet = css; tf.htmlText = 'Навигация по сайту:<br><br>'; tf.htmlText += '<a href="http://edapskov.ru/index.php">Главная страница</a><br>'; tf.htmlText += '<a href="http://edapskov.ru/guestbook.php">Гостевая</a><br>'; tf.htmlText += '<a href="download.php">Скачать</a><br>'; tf.htmlText += '<a href="faq.php">FAQ</a><br>';

Ну, а чтобы поведение flash-гиперссылок ещё больше напоминало поведение html-ссылок, добавим для элемента <a> атрибут target. Атрибут target указывает окно, в котором будет загружаться страница после активации гиперссылки. Допустимые значения у этого атрибута следующие:

- _self - загрузка в текущем фрейме текущего окна (стоит по умолчанию);

- _blank - загрузка в новом окне;

- _parent - загрузка в предке текущего фрейма;

- _top - загрузка в фрейме верхнего уровня текущего окна.

На практике вам, вероятно, пригодится только значение _blank, чтобы загружать страницы в новом окне браузера.

Код ActionScript 3.0:

import flash.text.TextField; import flash.text.StyleSheet; var css:StyleSheet = new StyleSheet(); css.setStyle("a",{fontSize:20,textDecoration:"underline"}); css.setStyle("a:link",{color:"#000099"}); css.setStyle("a:hover",{color:"#ff0000"}); css.setStyle("a:active",{color:"#009900"}); var tf:TextField = new TextField(); addChild(tf); tf.width = 450; tf.height = 300; tf.x = 50; tf.y = 50; tf.multiline = true; tf.wordWrap = true; tf.styleSheet = css; tf.htmlText = 'Навигация по сайту:<br><br>'; tf.htmlText += '<a href="http://edapskov.ru/index.php" target="_self">Главная страница</a><br>'; tf.htmlText += '<a href="http://edapskov.ru/guestbook.php" target="_blank">Гостевая</a><br>'; tf.htmlText += '<a href="download.php" target="_parent">Скачать</a><br>'; tf.htmlText += '<a href="faq.php" target="_top">FAQ</a><br>';

Надеюсь, изложенная здесь информация будет вам полезна. А у меня на сегодня всё :-)

Автор: admin

Дата добавления: 2012-03-18

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

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

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

Социальные закладки:
Комментарии:
К данной заметке комментариев пока нет. Ваш комментарий может стать первым.
Добавить комментарий:







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

Идиот-тест

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

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