Просмотр полной версии : где находится исходник scrollbara во флеш?
Собственно вопрос в теме. У меня стоит флеш цс5, хочу поиграться с scrollbar, нашел файл scrollbar.as в C:\Program Files\Adobe\Adobe Flash CS5\Common\Configuration\Component Source\ActionScript 3.0\User Interface\fl\controls - думал это то что надо, тоесть если в нем что-то редактировать, то у меня scrollbar тоже будет меняться, но что-то редактирование кода в этом файле ничего не меняет. уже даже пробовал полностью удалять код из файла и сам файл - все равно ничего не происходит... Поискал по компу, нашел еще штук 5 scrollbar.as файлов в разных местах, попробовал отредактировать их все - тоже ничего не изменилось. импорт делаю так:
import fl.controls.ScrollBar;
import fl.events.ScrollEvent;
import fl.controls.ScrollBarDirection;
А вообще все что мне надо сделать, это изменить ширину thumb в горизонтальном scrollbar, лень из-за этой 1й мелочи делать свой scrollbar, думал в исходнике родного scrollbar что-то изменить чтобы он не растягивал thumb, а то скин я сделал, но он все равно растягивается... (
При добавлении компонента в проект он появится в библиотеке. Ширину там можно поменять.
Но лучше все же свой написать.
"Ширину там можно поменять." - как??? я поменял, все равно он растягивает на стандартную ширину и хоть об стену бейся - никак. цвета нормально меняются, а вот размеры нет...
как???
Есть одно место, через которое это все со стандартными компонентами и происходит, поэтому
Но лучше все же свой написать.
ну или хотя бы найти где-нибудь альтернативу.
У стандартных компонентов скин из себя представляет мувик/спрайт с неопределенным количеством и глубиной вложенного контента - вот там и искать. И то не всегда поможет.
ясно... спс за ответ... просто не хотелось самому делать так как думал что такую мелочь можно за 20 мин сделать, хотя я так смотрю - я уже часов 5 потратил на поиски, за это время наверное уже сам бы с 0 сделал... )
Небольшой тюнинг скроллбара можно сделать программно.
ну я подсмотрел в одной из тем такое решение:
var scrollThumb_upSkin:MovieClip = new ScrollThumb_upSkin();
var scrollThumb_downSkin:MovieClip = new ScrollThumb_downSkin();
var scrollThumb_overSkin:MovieClip = new ScrollThumb_overSkin();
ResourceBuildScroll.setStyle('thumbUpSkin', scrollThumb_upSkin);
ResourceBuildScroll.setStyle('thumbDownSkin', scrollThumb_downSkin);
ResourceBuildScroll.setStyle('thumbOverSkin', scrollThumb_overSkin);
scrollThumb_upSkin.addEventListener(Event.ADDED, setUpSkin);
scrollThumb_downSkin.addEventListener(Event.ADDED, setDownSkin);
scrollThumb_overSkin.addEventListener(Event.ADDED, setOverSkin);
function setUpSkin(e:Event):void
{
((scrollThumb_upSkin as MovieClip).parent as LabelButton).height = 26;
((scrollThumb_upSkin as MovieClip).parent as LabelButton).width = 16;
}
function setDownSkin(e:Event):void
{
((e.target as MovieClip).parent as LabelButton).height = 26;
((e.target as MovieClip).parent as LabelButton).width = 16;
}
function setOverSkin(e:Event):void
{
((e.target as MovieClip).parent as LabelButton).height = 26;
((e.target as MovieClip).parent as LabelButton).width = 16;
}
function setDisabledSkin(e:Event):void
{
((e.target as MovieClip).parent as LabelButton).height = 26;
((e.target as MovieClip).parent as LabelButton).width = 16;
}
это действительно создает ползунок как мне надо, но вот фигня в том что при нажатии на кнопки скроллбара ползунок все равно возвращается к широкому варианту. Так же и при зажатии ползунка и его перемещении. Потом при движении мыши поверх ползунка он возвращается к маленькой версии как мне надо, но толку от этого, если в процессе перетаскивания он становится большим (туповато смотрится)...
пробовал еще добавить такой код на событие ScrollEvent.SCROLL:
((scrollThumb_upSkin as MovieClip).parent as LabelButton).height = 26;
((scrollThumb_upSkin as MovieClip).parent as LabelButton).width = 16;
((scrollThumb_downSkin as MovieClip).parent as LabelButton).height = 26;
((scrollThumb_downSkin as MovieClip).parent as LabelButton).width = 16;
((scrollThumb_overSkin as MovieClip).parent as LabelButton).height = 26;
((scrollThumb_overSkin as MovieClip).parent as LabelButton).width = 16;
пишет что child не должен равняться null... - Непонятно почему, но флеш не воспринимает этот код в ScrollEvent.SCROLL, хотя в Event.ADDED все нормально отрабатывает...
+ пробовал делать removechild и потом addchild в ScrollEvent.SCROLL - думал что при addchild автоматически отработает Event.ADDED и размеры будут каждый раз меняться к тем что мне надо при каждом движении ползунка - чего-то тоже не работает, ошибок не выдает, но и размеры не меняет... ( Вы случайно не знаете почему?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.