Adobe flash полоса прокрутки
Собстно вот вопрос:
Есть главный контент, он написан на флеш языке, есть превью-галерея, она тоже на флеше как свф, обе вставлены в хтмл документ, где находится задний фон. На ноутбуках контент будет отображаться не полностью, поэтому я хочу сделать полосу прокрутки, но я не знаю как. Картинка заднего фона "резиновая" но не шипко конечно же. Если запустить сайт на ноутбуке, первоначально все будет хорошо, кроме как низа моего флеш-контента. Если использовать колесико (нажать на него и появится прокрутка) то сайт как и надо спускается вниз, чтобы можно было просмотреть остатки контента. Но тут то сразу и начинают проблемы, как только я спущу вниз, моей картинки там не будет, а будет просто задний закрашенный цветовой фон. Т.е. картинка не меняется в размерах, если я спускаю главный контент. Так вот я подошел к вопросу. Что и как лучше сделать? Сделать полосу прокрутки, чтобы двигался сам сайт вниз, но отсюда вылазит сразу несколько камней: а) как мне доделать резиновый бэк б) как сделать собсно сами полосы прокрутки, ибо они автоматом нигде не появляются.
Либо, при использовании колесика мыши (уже не нажимать, а просто), двигался весь флеш-контент вверх, как бы за пределы просматриваемого поля, ну ессно до опр. момента. Я видел, такое есть, но совсем не представляю как так сделать. Помогите, чем можете
Да кстати, при изменении OVERFLOW, полосы появляются, но картинка от этого все равно остается не изменной. она центрируется.
Хм. по утру конечно же всегда свежие идеи. видимо щас вопрос стоит в том, как сделать картинку резиновой т.к. она центрируется по центру, она конечно же изменяется, но по своим параметрам от своего размера общего, поэтому на ноутах типа 15' она будет по центру располагаться хорошо, а если уйти вниз то. начинается снова картинка)
Вот собсно код хтмлки:
Прокрутка сайта
Ребят, скажите пожалуйста, как сделать, чтобы кнопки кидали не на новое окно, а прокручивали сайт.
Прокрутка сайта в сторону
Доброго времени суток. Я имею сайт по ширине например 2000 px. Как сделать так чтоб сайт.
Прокрутка сайта вбок
Приветствую. Я дизайнер и с программированием как-то особо не сталкивался. Но появилась идея.
Класс UIScrollBar обладает всеми функциями полосы прокрутки. Кроме того, он добавляет свойство scrollTarget , чтобы этот класс можно было подключить к экземпляру TextField или TLFTextField.
Примечание. При использовании ActionScript для обновления свойств экземпляра TextField или TLFTextField, которые влияют на схему текста, необходимо вызвать метод update() по отношению к экземпляру компонента UIScrollBar, чтобы обновить его свойства прокрутки. Примеры свойств схемы текста, принадлежащих к экземпляру TextField или TLFTextField, включают width , height и wordWrap .
Текущая реализация специальных возможностей (AccessibilityImplementation) для данного экземпляра InteractiveObject.
При значении true среда выполнения Flash кэширует внутреннее растровое представление экранного объекта.
Если задано ненулевое значение, данный объект Matrix определяет способ визуализации экранного объекта, когда свойство cacheAsBitmap имеет значение true.
[переопределить] Определяет или задает значение, указывающее направление полосы прокрутки: по горизонтали или по вертикали.
[только для чтения] Определяет экранный объект, над которым перетаскивается спрайт либо на котором спрайт был отпущен.
[переопределить] Определяет или задает логическое значение, которое определяет, включена ли полоса прокрутки.
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом.
Определяет или задает логическое значение, указывающее, может ли компонент принимать фокус при щелчке пользователя.
Определяет или задает объект FocusManager, управляющий фокусом для этого компонента и компонентов, находящихся на том же уровне иерархии.
[только для чтения] Задает объект Graphics, принадлежащий данному спрайту, в котором могут выполняться команды векторного рисования.
[только для чтения] Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект.
Получает объект метаданных экземпляра DisplayObject, если метаданные хранились вместе с экземпляром этого DisplayObject в SWF-файле через тег PlaceObject4.
Определяет, поддерживают ли дочерние объекты события мыши или других устройств пользовательского ввода.
Определяет или задает значение, указывающее, может ли компонент принимать фокус при щелчке пользователя.
Определяет, должна ли отображаться виртуальная клавиатура (программная экранная клавиатура), когда этот экземпляр InteractiveObject получает фокус.
[только для чтения] В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом.
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному вышестоящему контейнеру.
Обозначает угол поворота в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
Обозначает поворот в градусах по оси z экземпляра DisplayObject от исходной ориентации относительно трехмерного родительского контейнера.
Указывает глубину масштабирования объекта (в процентах) относительно точки регистрации этого объекта.
Определяет область, которая должна оставаться на экране при отображении программной клавиатуры (недоступна в iOS).
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта.
Логическое значение, определяющее, должен ли отображаться курсор в виде руки при наведении указателя мыши на спрайт, в котором свойство buttonMode имеет значение true.
[переопределить] Определяет или задает координату, представляющую положение компонента по оси X в пределах родительского контейнера.
[переопределить] Определяет или задает координату, представляющую положение компонента по оси Y в пределах родительского контейнера.
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера.
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
Показывает, могут ли ограничения безопасности привести к пропуску каких-либо экранных объектов в списке, возвращаемом в результате вызова метода DisplayObjectContainer.getObjectsUnderPoint() с заданной точкой point.
Определяет, является ли указанный объект отображения дочерним объектом экземпляра DisplayObjectContainer или самим экземпляром.
Инициирует немедленную операцию отрисовки без аннулирования всех элементов (в отличие от метода invalidateNow).
Возвращает прямоугольник, определяющий область объекта отображения, которая относится к системе координат объекта targetCoordinateSpace.
Возвращает массив объектов, расположенных ниже указанной позиции и являющихся дочерними объектами любого уровня для данного экземпляра DisplayObjectContainer.
Возвращает прямоугольник, определяющий границу объекта отображения по системе координат, определенной параметром targetCoordinateSpace за исключением линий фигур.
Преобразует объект Point из координат рабочей области (глобальных) в координаты отображаемого объекта (локальные).
Преобразует двумерный объект Point из координат рабочей области (глобальных) в координаты экранного трехмерного объекта (локальные).
Вычисляет ограничительную рамку экранного объекта, чтобы определить, не перекрывает и не пересекает ли она ограничительную рамку экранного объекта obj.
Вычисляет экранный объект, чтобы определить, перекрывает ли он точку, заданную координатами x и y, или пересекает ее.
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Преобразует трехмерный объект point из координат трехмерного экранного объекта (локальных) в двухмерный объект point с координатами рабочей области (глобальными).
Преобразует объект Point из координат экранного объекта (локальных) в координаты рабочей области (глобальные).
Удаляет заданный объект child DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer.
Удаляет дочерний DisplayObject из заданной позиции индекса в списке дочерних элементов DisplayObjectContainer.
Удаляет все дочерние экземпляры DisplayObject из списка дочерних элементов экземпляра DisplayObjectContainer.
setScrollProperties(pageSize:Number, minScrollPosition:Number, maxScrollPosition:Number, pageScrollSize:Number = 0):void
Позволяет пользователю перетаскивать заданный спрайт (растровый графический объект, легко перемещаемый по экрану).
Рекурсивно останавливает выполнение временной шкалы всех фрагментов MovieClip, размещенных в корне этого объекта.
Меняет местами (в порядке «от начала к концу») дочерние объекты, расположенные в двух заданных позициях индекса в списке дочерних элементов.
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Возвращает указанный стиль для компонента, учитывая все стили, заданные на глобальном уровне, уровне компонентов и уровне экземпляров.
Стили являются либо общими, либо связанными с определенной темой. Если стиль общий, он может использоваться с любой темой. Если стиль связан с определенной темой, он может использоваться, только если ваше приложение использует ее.
direction
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Возвращает или задает значение, определяющее направление полосы прокрутки: по горизонтали или по вертикали. Допускаются значения ScrollBarDirection.HORIZONTAL и ScrollBarDirection.VERTICAL .
Значением по умолчанию является ScrollBarDirection.VERTICAL.
Реализация
override public function get direction():String
override public function set direction(value:String):void
Связанные элементы API
В следующем примере в текстовое поле динамически загружается определенный текст, а затем создаются вертикальная и горизонтальная полосы прокрутки:
В следующем примере создается экземпляр компонента UIScrollBar, который используется для прокрутки динамического текстового поля:
scrollTarget
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Регистрирует экземпляр TextField или TLFTextField с экземпляром компонента ScrollBar.
Реализация
public function get scrollTarget():DisplayObject
public function set scrollTarget(value:DisplayObject):void
Связанные элементы API
В следующем примере создается UIScrollBar, который связывается с текстовым полем с помощью свойства scrollTarget :
UIScrollBar
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Создает новый экземпляр компонента UIScrollBar.
getStyleDefinition
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Возвращает карту стилей по умолчанию для текущего компонента. Карта стилей содержит тип, который подходит для компонента в зависимости от стиля, используемого компонентом. Например, стиль disabledTextFormat содержит значение null или объект TextFormat. Вы можете воспользоваться этими стилями и вызвать метод setStyle() по отношению к текущему компоненту. Следующий код переопределяет стиль disabledTextFormat , выбранный по умолчанию для указанного компонента:
Возвращает
Object — Объект стилей по умолчанию. |
Связанные элементы API
setScrollProperties
override public function setScrollProperties(pageSize:Number, minScrollPosition:Number, maxScrollPosition:Number, pageScrollSize:Number = 0):void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Задает диапазон и размер области просмотра для компонента ScrollBar. Компонент ScrollBar соответствующим образом обновляет состояние клавиш со стрелками и размер ползунка прокрутки. Все свойства прокрутки зависят от масштаба minScrollPosition и maxScrollPosition . Каждое число между максимальным и минимальным значениями отражает одно положение прокрутки.
Параметры
pageSize :Number — Размер одной страницы. Определяет размер бегунка, а также шаг перемещения по полосе прокрутки при нажатии на стрелки. |
minScrollPosition :Number — Нижний край диапазона прокрутки. |
maxScrollPosition :Number — Верхний край диапазона прокрутки. |
pageScrollSize :Number (default = 0 ) — Шаг смещения при нажатии на дорожку полосы прокрутки в пикселах. |
Связанные элементы API
update
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Вызывает немедленное обновление свойств прокрутки полосы прокрутки. Это необходимо сделать после того, как текст в указанном текстовом поле scrollTarget добавляется с помощью ActionScript и полосу прокрутки необходимо обновить.
Связанные элементы API
В следующем примере создается экземпляр компонента UIScrollBar, который используется для прокрутки динамического текстового поля:
Чтобы применить этот пример на практике, выполните следующие действия.
- Добавьте компонент UIScrollBar в библиотеку.
- Сохраните этот код под именем UIScrollBarExample.as в том же каталоге, где и FLA-файл.
- Присвойте классу Document в FLA-файле значение UIScrollBarExample.
© 2015 Adobe Systems Incorporated. All rights reserved.
Tue Jun 12 2018, 11:34 AM Z
Компонент ScrollPane отображает экранные объекты, JPEG-, GIF- и PNG-файлы, а также SWF-файлы в области с прокруткой. Панель прокрутки можно использовать для ограничения области экрана, занятой этими типами материалов. Панель прокрутки может отображать содержимое, которое загружается с локального диска или Интернета. Это содержимое можно настроить с помощью ActionScript как во время разработки, так и при выполнении. После того как панель прокрутки оказывается в фокусе, если содержимое имеет действительные табуляторы, фокус переводится на эти маркеры. Вслед за последним табулятором в содержимом фокус переходит к следующему компоненту. Вертикальная и горизонтальная полосы прокрутки на панели прокрутки не получают фокуса.
Примечание. Когда содержимое загружается из другого домена или изолированной программной среды, свойства содержимого могут быть недоступны по соображениям безопасности. Дополнительную информацию о том, как безопасность домена влияет на процесс загрузки, см. в описании класса ProLoader.
Примечание. При загрузке очень больших файлов изображений в объект ScrollPane может потребоваться выполнить прослушивание события complete , затем изменить размер ScrollPane, используя метод setSize() . См. пример с событием complete .
Связанные элементы API
Текущая реализация специальных возможностей (AccessibilityImplementation) для данного экземпляра InteractiveObject.
При значении true среда выполнения Flash кэширует внутреннее растровое представление экранного объекта.
Если задано ненулевое значение, данный объект Matrix определяет способ визуализации экранного объекта, когда свойство cacheAsBitmap имеет значение true.
[только для чтения] Определяет экранный объект, над которым перетаскивается спрайт либо на котором спрайт был отпущен.
Определяет или задает значение, указывающее, поддерживает ли компонент взаимодействие с пользователем.
Индексированный массив, который содержит все объекты filter, связанные в настоящий момент с экранным объектом.
Определяет или задает логическое значение, указывающее, может ли компонент принимать фокус при щелчке пользователя.
Определяет или задает объект FocusManager, управляющий фокусом для этого компонента и компонентов, находящихся на том же уровне иерархии.
[только для чтения] Задает объект Graphics, принадлежащий данному спрайту, в котором могут выполняться команды векторного рисования.
Определяет или задает значение, показывающее протяженность прокрутки по горизонтали при щелчке стрелки прокрутки.
Определяет или задает число пикселов, на которое перемещается бегунок горизонтальной полосы прокрутки при нажатии на рабочую часть полосы прокрутки.
Определяет или задает значение, показывающее положение горизонтальной полосы прокрутки на панели прокрутки (в пикселах).
[только для чтения] Возвращает объект LoaderInfo, содержащий сведения о загрузке файла, к которому принадлежит этот экранный объект.
[только для чтения] Определяет максимальную координату (в пикселах) для горизонтальной прокрутки текущего содержимого.
[только для чтения] Определяет максимальное положение по вертикали при прокрутке текущего содержимого (в пикселах).
Получает объект метаданных экземпляра DisplayObject, если метаданные хранились вместе с экземпляром этого DisplayObject в SWF-файле через тег PlaceObject4.
Определяет, поддерживают ли дочерние объекты события мыши или других устройств пользовательского ввода.
Определяет или задает значение, указывающее, может ли компонент принимать фокус при щелчке пользователя.
Определяет, должна ли отображаться виртуальная клавиатура (программная экранная клавиатура), когда этот экземпляр InteractiveObject получает фокус.
[только для чтения] Определяет число, показывающее объем загруженной части содержимого (от 0 до 100 %).
[только для чтения] В случае с экранным объектом в загруженном SWF-файле свойством root является самый верхний экранный объект в части структуры дерева списка отображения, представленной этим SWF-файлом.
Обозначает поворот в градусах по оси x экземпляра DisplayObject относительно исходной ориентации по трехмерному вышестоящему контейнеру.
Обозначает угол поворота в градусах по оси у экземпляра DisplayObject относительно исходной ориентации по трехмерному родительскому контейнеру.
Обозначает поворот в градусах по оси z экземпляра DisplayObject от исходной ориентации относительно трехмерного родительского контейнера.
Указывает глубину масштабирования объекта (в процентах) относительно точки регистрации этого объекта.
Определяет или задает значение, указывающее, производится ли прокрутка при перетаскивании содержимого на панели прокрутки.
Определяет область, которая должна оставаться на экране при отображении программной клавиатуры (недоступна в iOS).
Определяет или задает абсолютный или относительный URL-адрес расположения SWF-файла или файла изображения для загрузки, имя класса фрагмента ролика из библиотеки, ссылку на экранный объект или имя экземпляра фрагмента ролика на одном уровне с компонентом.
Объект со свойствами, относящимися к матрице, преобразованию цвета и пиксельным границам экранного объекта.
При значении true свойству cacheAsBitmap для прокручиваемого содержимого устанавливается значение true. При значении false данное значение отключается.
Логическое значение, определяющее, должен ли отображаться курсор в виде руки при наведении указателя мыши на спрайт, в котором свойство buttonMode имеет значение true.
Определяет или задает значение, показывающее число пикселов, на которое производится прокрутка по вертикали при щелчке стрелки прокрутки.
Определяет или задает число пикселов, на которое перемещается бегунок вертикальной полосы прокрутки при нажатии на рабочую часть полосы прокрутки.
Определяет или задает значение, показывающее положение вертикальной полосы прокрутки на панели прокрутки (в пикселах).
[переопределить] Определяет или задает координату, представляющую положение компонента по оси X в пределах родительского контейнера.
[переопределить] Определяет или задает координату, представляющую положение компонента по оси Y в пределах родительского контейнера.
Указывает положение по оси z экземпляра DisplayObject относительно трехмерного родительского контейнера.
Компонент UIScrollBar позволяет добавлять полосу прокрутки к текстовому полю. Полосу прокрутки можно добавить к текстовому полю в процессе разработки или во время выполнения с помощью ActionScript. Чтобы воспользоваться компонентом UIScrollBar, создайте текстовое поле в рабочей области, перетащите компонент UIScrollBar с панели «Компоненты» в любой квадрант ограничивающего прямоугольника текстового поля.
Если длина полосы прокрутки меньше общего размера стрелок прокрутки, компонент отображается неправильно. Одна кнопка со стрелкой скрывается под другой. Flash не выводит ошибки об этой проблеме. В таком случае лучше скрыть полосу прокрутки с помощью ActionScript. Если размера полосы прокрутки недостаточно для отображения ползунка, Flash скрывает его.
Компонент UIScrollBar выполняет те же функции, что и другие полосы прокрутки. Он содержит кнопки со стрелками по обоим концам, между которыми расположена полоса прокрутки и ползунок. Компонент можно расположить по любому краю текстового поля для прокручивания по вертикали и горизонтали.
Дополнительные сведения об объекте TextField см. в описании класса TextField в справочнике ActionScript® 3.0 для Adobe® Flash® Professional CS5.
Взаимодействие пользователей с компонентом UIScrollBar
В отличие от многих других компонентов, UIScrollBar может получать непрерывный ввод данных мыши, например, когда пользователь удерживает кнопку мыши, не требуя повторных щелчков.
Компонент UIScrollBar не поддерживает взаимодействие с клавиатурой.
Параметры компонента UIScrollBar
В Инспекторе свойств или Инспекторе компонентов можно задать следующие параметры разработки для каждого экземпляра компонента UIScrollBar: direction и scrollTargetName . Каждый из этих параметров имеет соответствующее свойство ActionScript с тем же именем.
Можно написать код ActionScript, чтобы задать дополнительные параметры для экземпляров UIScrollBar с использованием их методов, свойств и событий. Дополнительные сведения см. в описании класса·UIScrollBar в справочнике ActionScript® 3.0 для Adobe® Flash® Professional CS5.
Создание приложения с компонентом UIScrollBar
Ниже описывается процедура добавления компонента UIScrollBar в приложение в ходе разработки.
Создайте новый документ Flash (ActionScript 3.0).
Создайте динамическое текстовое поле, достаточно высокое для одной или двух строк текста, и присвойте ему имя экземпляра myText в Инспекторе свойств.
В Инспекторе свойств задайте для свойства LineType поля ввода текста значение Multiline или MultilineNoWrap, если планируется использовать горизонтальную полосу прокрутки.
Откройте панель «Действия», выберите «Кадр 1» на главной временной шкале и введите следующий код ActionScript для заполнения свойства text таким образом, чтобы пользователю потребовалась прокрутка для его просмотра.
Примечание. Убедитесь, что текстовое поле в рабочей области достаточно маленькое, чтобы весь текст нельзя было просмотреть без прокрутки. Если оно будет слишком большое, полоса прокрутки может не появиться или на ней не будет ползунка (для прокручивания содержимого).
Убедитесь, что включена привязка к объектам («Просмотр» > «Привязка»> «Привязка к объектам»).
Перетащите экземпляр UIScrollBar с панели «Компоненты» в текстовое поле ввода рядом с тем краем, у которого нужно разместить полосу прокрутки. Чтобы компонент правильно присоединился к текстовому полю, кнопку мыши нужно отпустить, когда он будет перекрывать поле. Присвойте компоненту имя экземпляра mySb.
Свойство scrollTargetName автоматически заполняется именем экземпляра TextField, которое задано в Инспекторах свойств и компонентов. Если его нет на вкладке «Параметры», значит при размещении компонент UIScrollBar не достаточно перекрывал текстовое поле.
Выберите «Управление» > «Тестировать ролик».
Создание экземпляра компонента UIScrollBar с помощью ActionScript
Экземпляр UIScrollBar можно создать с помощью ActionScript и связать его с текстовым полем во время выполнения. В следующем примере создается горизонтальный экземпляр UIScrollBar и присоединяется к нижнему краю текстового поля myTxt, в которое загружается текст из URL. Кроме того, размер полосы прокрутки определяется по размеру текстового поля.
Создайте новый документ Flash (ActionScript 3.0).
Перетащите компонент ScrollBar на панель «Библиотека».
Откройте панель «Действия», выберите «Кадр 1» на главной временной шкале и введите следующий код ActionScript.
Выберите «Управление» > «Тестировать ролик».
На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.
Продолжим знакомство с флеш-«плюшками», найденными на буржуйском ресурсе, который я уже упоминал несколькими постами ранее. И сегодня рассмотрим работу с библиотекой Zscrollez, которая, как можно понять из её названия, позволяет создать ScrollBar, то есть скроллируемое текстовое поле (на самом деле создаётся скроллируемый мувиклип, но об этом чуть позже). В принципе, ScrollBar - штука востребованная и в сети можно найти много способов её реализации на языке ActionScript 3.0. Но лично мне библиотека Zscrollez приглянулась тем, что она небольшая (состоит всего из двух классов), создана в стиле «code only», легко настраивается и выглядит весьма симпатично в готовом виде.
Итак, как я уже ранее сказал, библиотека классов Zscrollez состоит всего из двух классов (они прилагаются к исходнику, ссылка на который в конце данного поста). Библиотеку мы размещаем в одной папке с флеш-проектом, созданным в Adobe Flash, а затем подключаем Zscrollez к нашему флеш-проекту.
Код ActionScript 3.0:
Хорошо. Библиотеку подключили. Но, перед тем, как её применить, нам надо выполнить некоторые подготовительные шаги. Дело в том, что у нас нет на текущий момент самого главного - текстового поля, которое мы и будем скроллировать. Давайте его создадим.
Код ActionScript 3.0:
/* форматирование текста */ var fTxt:TextFormat = new TextFormat(); fTxt.align = TextFormatAlign.JUSTIFY; fTxt.size = 12; fTxt.bold = true; fTxt.color = 0x666666; fTxt.font = "Verdana"; /* создаём текстовое поле */ var myTxt:TextField = new TextField(); myTxt.width = 490; myTxt.autoSize = TextFieldAutoSize.CENTER; myTxt.multiline = true; myTxt.wordWrap = true; myTxt.selectable = false; myTxt.text = "Наш текст."; myTxt.setTextFormat(fTxt);
Текстовое поле мы создали, но пока не добавили его в список отображения. Почему? Дело в том, что мы должны наше текстовое поле поместить в MovieClip, а мувик передать экземпляру класса Zscrollez в качестве одного из параметров. И только потом данный экземпляр класса Zscrollez добавляется в список отображения. Поэтому создаём мувиклип-контейнер для ранее созданного текстового поля:
Код ActionScript 3.0:
var mc:MovieClip = new MovieClip(); mc.addChild(myTxt);
А теперь создадим экземпляр класса Zscrollez и поместим в него созданный выше мувиклип.
Код ActionScript 3.0:
var zscrollez:Zscrollez = new Zscrollez(mc,350);
Здесь в качестве первого параметра конструктора объекта фигурирует мувиклип-контейнер с текстовым полем внутри, а второй параметр - это высота видимой области скроллируемого мувиклипа.
А теперь, наконец-то, добавляем наш ScrollBar в список отображения.
Код ActionScript 3.0:
addChild(zscrollez); zscrollez.x = zscrollez.y = 25;
Как я уже ранее упоминал, имеется возможность настройки внешнего вида ScrollBar-а. Так, вид полосы прокрутки изменяется методом scrollBarProperties(), который принимает следующие параметры:
1-й - высота скроллера;
2-й - цвет скроллера;
3-й - цвет контейнера, внутри которого может перемещаться скроллер.
Код ActionScript 3.0:
zscrollez.scrollBarProperties(50, 0x333333, 0x999999);
С помощью метода backGround() можно установить цвет фона и прозрачность фона для скроллируемого текстового поля.
Код ActionScript 3.0:
Свойство scrollWheel отвечает за реакцию скроллируемого текстового поля на прокручивание колёсика мышки: если свойство scrollWheel имеет значение true, то при прокручивании колёсика мышки над текстовым полем происходит скроллирование этого текстового поля, а если false - скроллирования не происходит.
Код ActionScript 3.0:
Свойство handCursor отвечает за отображение курсора мышки при наведении на скроллер: если свойство имеет значение true, то курсор мышки принимает вид руки (как при наведении на кнопку), а если false - курсор не изменяется.
Код ActionScript 3.0:
А теперь давайте объединим все перечисленные ранее шаги в единый законченный код.
Код ActionScript 3.0:
/* подключаем библиотеку */ import ph.component.Zscrollez; /* форматирование текста */ var fTxt:TextFormat = new TextFormat(); fTxt.align = TextFormatAlign.JUSTIFY; fTxt.size = 12; fTxt.bold = true; fTxt.color = 0x666666; fTxt.font = "Verdana"; /* создаём текстовое поле */ var myTxt:TextField = new TextField(); myTxt.width = 490; myTxt.autoSize = TextFieldAutoSize.CENTER; myTxt.multiline = true; myTxt.wordWrap = true; myTxt.selectable = false; myTxt.text = "ActionScript является языком программирования, используемым в средах выполнения Adobe Flash Player и Adobe AIR. Он обеспечивает интерактивность, обработку данных и многие другие возможности в содержимом Adobe Flash, Flex и AIR, а также в приложениях. \n ActionScript выполняется виртуальной машиной ActionScript (AVM), которая является частью проигрывателя Flash Player и пакета AIR. Обычно код ActionScript компилируется в формате байт-кодов (разновидность языка программирования, записываемого и распознаваемого компьютерами) компилятором, таким, какой встроен в Adobe Flash CS4 Professional или Adobe Flex Builder, а также доступен в Adobe Flex SDK. Байт-коды встраиваются в SWF-файлы, которые выполняются в проигрывателе Flash Player и AIR. ActionScript 3.0 предлагает надежную модель программирования, знакомую разработчикам, имеющим базовые понятия об объектно-ориентированном программировании. Ниже перечислены некоторые из основных функций ActionScript 3.0, добавленные в процессе усовершенствования предыдущих версий ActionScript. \n • Новая виртуальная машина ActionScript, называемая AVM2, использует новый набор инструкций в байт-кодах и обеспечивает значительный прирост производительности. \n • Более современный программный код компилятора выполняет оптимизацию на более высоком уровне, чем предыдущие версии компилятора. \n • Расширенный и улучшенный интерфейс программирования приложений (API) с контролем объектов на нижнем уровне и подлинной объектно-ориентированной моделью. \n • Интерфейс программирования приложений XML создан на основе спецификации ECMAScript для XML (E4X) (ECMA-357 редакция 2). E4X является расширением языка ECMAScript, который добавляет XML в качестве поддерживаемого языком типа данных. \n • Модель события на основе спецификации событий DOM уровня 3."; myTxt.setTextFormat(fTxt); /* создаём мувик-контейнер для текстового поля */ var mc:MovieClip = new MovieClip(); mc.addChild(myTxt); /* создаём экземпляр класса Zscrollez, настраиваем его и добавляем в список отображения */ var zscrollez:Zscrollez = new Zscrollez(mc,350); zscrollez.scrollBarProperties(50, 0x333333, 0x999999); zscrollez.backGround(0xdddddd, 1); zscrollez.scrollWheel = true; zscrollez.handCursor = true; addChild(zscrollez); zscrollez.x = zscrollez.y = 25;
Фух! Сделали! А теперь самое время посмотреть на результат наших трудов :-) Смотрим, проверяем работоспособность и. наслаждаемся:
Как вы, наверно, уже могли догадаться, с помощью Zscrollez можно скроллировать не только текстовые поля, но и MovieClip-ы. Пожалуй, это даже проще в плане кода :-)
Код ActionScript 3.0:
В приведённом ниже примере вы можете скроллировать мувик с градиентной заливкой.
Исходник под Adobe Flash CS5.5 и библиотеку Zscrollez можно скачать здесь.
Читайте также: