Я работаю над флеш-игрой на основе проекта AS3 с помощью FlashDevelop.
Мне нужно текстовое поле с полосой прокрутки.
Мне удалось создать редактируемое поле TextField, но я не могу найти способ добавить
вертикальную полосу прокрутки.
Спасибо,
SW.
Как создать текстовое поле с прокруткой в AS3 и FlashDevelop?
Ответы (3)
Среда выполнения Flash не предоставляет встроенных элементов управления пользовательского интерфейса (кнопки, полосы прокрутки, поля со списком и т. д.), поэтому вы должны либо использовать, либо писать компоненты, разработанные в AS3.
Adobe Flash Professional включает в себя набор компонентов пользовательского интерфейса; Фреймворк Flex предлагает множество (и тяжеловесных) компонентов, но вы должны использовать Flex с нуля. У обоих есть серьезные плюсы и минусы, но, по крайней мере, их код интересно изучать.
Вы найдете множество (часто плохих) скриптов полос прокрутки в Интернете — это хорошее упражнение для изучения Flash.
Обратите внимание, что у вас есть 2 способа прокрутки текста:
- TextFields имеют свойство прокрутки для прокрутки текста построчно,
- или установите маску (или лучше scrollRect) для прокрутки произвольного содержимого, включая длинное TextField.
если вы добавите flex_sdk_4.1\frameworks\libs\framework.swc
в библиотеки SWC (в свойствах проекта -> параметры компилятора), вы можете импортировать и использовать mx.controls.VScrollBar
Вам придется разработать его самостоятельно или найти бесплатное решение в Интернете. Как правило, это будет включать очень высокое текстовое поле, которое раскрывается только частично из-за маски. Затем полоса прокрутки управляет положением Y текстового поля, поэтому маска показывает разные части текстового поля.