Компонент ScrollPane

 


Компонент ScrollPane используется во многом аналогично компоненту ScrollBar, но небольшая разница все-таки есть, и ее необходимо понимать. Этот компонент не привязывается к тексту, а создает клип (movie clip).
Для того чтобы создать прокручивающийся текст с помощью ScrollPane, выполните следующее.
1. Выполните шаги 1 и 2 из предыдущего раздела, т.е. создайте текстовое поле и присвойте ему имя. После этого преобразуйте поле в символ Movie Clip (Movie Clip symbol). Дайте этому символу имя в диалоговом окне Create Symbol, например ScrollText.
2. В диалоговом окне Symbol щелкните на кнопке Advanced. После этого в окне появятся два новых раздела— Linkage и Source. Щелкните в разделе Linkage на Select for Actionscript, укажите имя в поле Identifier, например ScrollText, и щелкните на кнопке ОК.

Совет
Если вы дадите клипу имя, а потом выберете Export for ActionScript, Flash MX автоматически введет в поле Linkage ID то же самое имя, которое вы выбрали для клипа. Это, безусловно, удобно, но если позже вы измените имя клипа, соответствующее имя в поле Linkage ID не изменится. Это неприятная ловушка, и она постоянно обсуждается на различных форумах, посвященных Flash MX.

3. Перетащите компонент ScrollPane в рабочую область и щелкните правой кнопкой мыши. В открывшемся контекстном меню выберите Scale. Когда появятся маркеры изменения размера, установите с их помощью нужный размер компонента. В окне свойств отобразятся установленные вами высота и ширина.
4. Введите имя Scrolllt в поле Instance окна свойств. Щелкните в поле Scroll Content окна свойств и введите имя клипа, которое вы ввели в поле Identifier диалогового окна Advanced Symbol. Щелкните в области Horizontal Scroll окна свойств и выберите в меню пункт True. Аналогично выберите в поле Vertical Scroll значение True. В результате таких установок маркеры изменения размера будут видны во время воспроизведения. Если вместо True выбрать в этих списках Auto, то маркеры не будут видны, когда текст полностью умещается в текстовом поле.
5. Если вы сейчас попробуете запустить свой клип, то скроллинг будет работать, но не так, как вам хотелось бы. Поскольку здесь мы имеем дело с динамическим текстом, в этом компоненте нужно встроить в клип шрифт. Откройте клип и выделите весь его текст. Щелкните на кнопке Character в окне свойств и выберите Аll Characters. Щелкните на кнопке ОК, потом на кнопке Scene 1, закройте клип и протестируйте его, выбрав в меню Control=>Test Movie.

Замечание
Если вы протестируете клип, не встроив в него шрифты, то изображение текста внутри поля и вне его будет зависеть от того, как вы настроили размеры текстового поля и компонента ScrollPane. Если размеры поля больше, чем размеры компонента, то текст будет выходить за пределы компонента. Если размеры поля меньше, чем размеры компонента, то скроллинг будет работать, но текст не будет заполнять все отведенное ему пространство.
Здесь есть еще один важный нюанс. В первом примере, когда мы создавали компонент ScrollBar, размер текстового поля определял размеры области компонента, в которой можно пользоваться скроллингом. В компоненте ScrollPane размеры текстового поля должны быть достаточно велики для того, чтобы весь вставленный текст мог там поместиться.