Полноэкранный ScrollBar на ActionScript 3.0

FullScreenScrollBar - ещё один доступный в сети класс на ActionScript 3.0 для реализации в флеш-приложениях скроллируемого текстового поля. Отличие данного класса от ранее рассмотренного ScrollBar-а становится ясным из самого названия класса. FullScreenScrollBar - это полноэкранный ScrollBar, полоса прокрутки которого располагается в правом крае флеш-ролика и растянута на всю высоту сцены флеш-ролика. Конечно, это не всегда удобно, но часто используется именно такая конфигурация ScrollBar-а.

Итак, как же воспользоваться возможностями класса FullScreenScrollBar в нашем флеш-проекте? На самом деле, довольно просто...

Код ActionScript 3.0:

/* импортируем класс */ import com.warmforestflash.ui.FullScreenScrollBar; /* текст для нашего текстового поля */ var mytxt:String = "\n <u>По Талабам бродит дух утопленника Залита</u> \n\n Ян Залит (Янис Залитис) - уроженец деревни Лавры Псковской губернии. Он был одним из тех большевиков, кто устанавливал на острове советскую власть. \n\n На острове Талабск, позже переименованным в его честь, Яна Залита с сотоварищами схватили солдаты Белой армии. Если верить советским источникам, всех пытали, а потом, при переправе, утопили в озере. Произошло это в непогоду при жутком тумане. \n\n - Я работал тогда учителем на острове Залита в школе-восьмилетке, и эту историю поведала мне тогдашний директор, Надежда Кочнова - человек уважаемый и авторитетный, - вспоминает один из ведущих фотокорреспондентов области Глеб Костин. - Однажды поздно вечером она сидела в учительской и заполняла журналы. Был сильный дождь и ветер. Вдруг директор отчетливо услышала в коридоре, за дверью учительской, гулкие шаги, «цок-цок-цок». Кто бы это мог быть? В школе Надежда Яковлевна была одна и сама запирала изнутри дверь. Женщиной она была не из пугливых, подкралась к двери и резко её распахнула, готовая ударить любого незваного гостя. Но там не было никакого загадочного ходока. \n\n Среди местных жителей бытует поверье, что дух неприкаянного утопленника Яна Залита бродит по острову и не может найти покоя (большевика, учителя и, как считается, бывшего директора школы - ред.). Является он людям как раз в такую ненастную туманную погоду... Известно также, что Залит ходил во френче и хромовых сапогах с подковками (вспомните это «цок-цок-цок») и был единственным из пяти утопленников, тело которого так и не нашли. \n"; /* форматирование текста */ var fTxt:TextFormat = new TextFormat(); fTxt.align = TextFormatAlign.JUSTIFY; fTxt.size = 16; fTxt.bold = true; fTxt.color = 0x666666; fTxt.font = "Verdana"; /* создаём спрайт-контейнер для текстового поля */ var cont:Sprite = new Sprite(); addChild(cont); cont.x = 75; /* создаём текстовое поле и добавляем его в контейнер */ var myTxt:TextField = new TextField(); myTxt.width = 400; myTxt.autoSize = TextFieldAutoSize.CENTER; myTxt.multiline = true; myTxt.wordWrap = true; myTxt.selectable = false; myTxt.htmlText = mytxt; myTxt.setTextFormat(fTxt); cont.addChild(myTxt); /* добавляем на сцену флеш-ролика ScrollBar */ var scrollBar:FullScreenScrollBar = new FullScreenScrollBar(cont, 0x000000, 0xff0000, 0x990000, 0xffffff, 15, 15, 4, true); addChild(scrollBar);

В этом коде я хотел бы обратить ваше внимание на два момента.

Во-первых, мы должны создать контейнер, в который затем поместим текстовое поле. Данный контейнер должен наследовать от DisplayObjectContainer. В данном примере в качестве этого контейнера я использую экземпляр класса Sprite.

Во-вторых, мы имеем возможность настроить внешний вид полосы прокрутки текста. Обратите внимание на параметры у конструктора FullScreenScrollBar. Эти параметры следующие:

1-й - это тот самый контейнер, внутри которого лежит текстовое поле;

с 2-го по 5-й включительно - это параметры, отвечающие за цветовую палитру полосы прокрутки;

с 6-го по 7-й включительно - настройки ширины ScrollBar-а;

8-й - изменяет анимацию прокрутки (поставьте значение выше, чем установлено сейчас, и увидите, что скроллируемое текстовое поле сможет ещё долго двигаться по инерции после завершения скроллинга);

последний параметр отвечает за наложение декоративного эффекта на полосу прокрутки и может принимать значения true (эффект установлен) или false (эффект снят).

А теперь давайте взглянем на то, что у нас получилось:

= = = Пример = = =

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

= = = Пример = = =

А здесь можно посмотреть полноэкранную версию данного флеш-ролика.

Исходник под Adobe Flash CS5.5 и сам класс FullScreenScrollBar скачать можно здесь. Обращаю ваше внимание, что для работы FullScreenScrollBar-а требуются классы из пакета gs (эти классы отвечают за анимационные эффекты и тоже прилагаются к исходнику).

Автор: admin

Дата добавления: 2011-11-12

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

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

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

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2015-10-19
> Спасибо за пример. Все работает. Возник один вопрос. Как удалить скроллбар с мувика, или вообще со сцены? Вызов kill() из основного класса пишет что неизвестный метод.

Как я понимаю, этот функционал в принципе не предусмотрен. Данное решение для тех случаев, когда всё приложение размещается в скроллируемом контейнере. Как-бы название FullScreenScrollBar намекает. Возможно, вам больше подойдёт это решение: http://edapskov.ru/pages.php?id=74
Комментатор
Комментарий добавил(а): Дмитрий
Дата добавления: 2015-10-19
Спасибо за пример. Все работает. Возник один вопрос. Как удалить скроллбар с мувика, или вообще со сцены? Вызов kill() из основного класса пишет что неизвестный метод.
Комментатор
Комментарий добавил(а): Виталий Брагин
Дата добавления: 2012-05-13
Спасибо! Постараюсь в ближайшее время с этим разобраться. Очень интересно! =)
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2012-05-11
Никак. Оно потому и называется FullScreenScrollBar (полноэкранный ScrollBar). Если надо внутри ролика создать скроллируемое текстовое поле определённого размера, то в начале поста есть ссылка на другой урок с другим классом (но там есть забавный глюк).
Комментатор
Комментарий добавил(а): Виталий Брагин
Дата добавления: 2012-05-11
Всё поставил. Возник лишь вопрос как задать размеры и позицию для этой штуки, в странице
флеш-сайта.


С уважением!
Добавить комментарий:







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

Идиот-тест

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

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