Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > Хочу написать свой ScrollPane


Автор: p0zt3r 27.1.2009, 01:52
Идея такая.

Мне нужен свой, оригинальный ScrollPane. Допустим, чтобы скроллинг был какой-нибудь нестандартный, оформление своё, декораторы всякие и т.д. причём с поддержкой скинов в дальнейшем.

Собственно, ковыряем стандартный ScrollPane.

1. http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=Part4_AS2_Components_LangRef_1.html находим описание стандартного компонента ScrollPane.
2. Похоже на то, что ScrollPane при скроллинге изменяет положение загруженного Loader'а. Та, часть, которая выходит за его клиентскую область, отрезается. Это сделано с использованием слоя-маски.
3. ScrollPane имеет полезные методы и события - progress, getBytesLoaded() и getBytesTotal(). Следовательно не мешало бы приделать к нашему разрабатываемому компоненту ещё и заставку в виде MovieClip'а, в которую передавались бы проценты прогресса. Следовательно делаем event listner на событие progress.
4. Ползунок для нашего ScrollPane можно сделать с помощью Button'а, реагирующего на события перетаскивания. Следовательно пишем соответствующий листнер.

Вопрос следующий 

Вроде бы всё ясно, но непонятно, как:
1. Сделать обрезку Loader'а с помощью маски - ведь у нас размер нашего ScrollPan'а может меняться.
2. Сделать компонент юзабильным. Т.е. как создать компонент, удобный при работе дизайнера?

Если кто делал подобное, подскажите быстрое решение!  smile 


Автор: p0zt3r 27.1.2009, 20:46
Прошу простить админов за флейм,
но то, что я написал это полный бред )) Считаю всё-таки оправданным переход на ActionScript3. Я больше не могу читать это унылое га*но - эту оф. доку по АС2.

Переходите все на AS3, там прикольнее и проще! И ещё там ООП полноценное и АС2 мастдай!

Автор: Maksys 27.1.2009, 20:48
Я так и знал что не надо отвечать на этот пост smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)