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 CS5.5 и сам класс FullScreenScrollBar скачать можно здесь. Обращаю ваше внимание, что для работы FullScreenScrollBar-а требуются классы из пакета gs (эти классы отвечают за анимационные эффекты и тоже прилагаются к исходнику).
Как я понимаю, этот функционал в принципе не предусмотрен. Данное решение для тех случаев, когда всё приложение размещается в скроллируемом контейнере. Как-бы название FullScreenScrollBar намекает. Возможно, вам больше подойдёт это решение: http://edapskov.ru/pages.php?id=74