PDA

Просмотр полной версии : Некорректно работает скроллбар


fifa_sibir
27.09.2011, 10:18
Здравствуйте. Делаю скроллбар, все работает вроде нормально, вот только при прокручивании до конца остается пустое свободное поле, а когда назад к началу кручу наоборот не докручивает, урезает строку. Подскажите пожалуйста в чем может быть проблема, кто сталкивался с подобным?


addEventListener(Event.ENTER_FRAME, enterFrame);

function enterFrame(e:Event):void{
var distance:Number = Math.round(scrollMC.y-bounds.y);
var percentage:Number = distance/myMask.height;
var targetY:Number = ((loader.height-myMask.height)*percentage)+myMask.y;
if(scrolling == true){
loader.y = -(targetY);
}

Wolsh
27.09.2011, 12:35
А scroll_mc у Вас все еще имеет точку регистрации в центре? Надо учитывать визуальную длину ползунка - он проходит не всю высоту маски, а высотаМаски - высотаПолзунка. Поэтому - во-первых надо точку регистрации вернуть в верхний левый угол ползунка, во-вторых процент считать как distance/(myMask.height - scrollMC.height).

Добавлено через 4 минуты
http://www.flasher.ru/forum/showpost.php?p=746848&postcount=6

fifa_sibir
27.09.2011, 15:25
Wolsh, Ваша тема для меня находка, я уже думала мне никто не поможет)
Очень-очень благодарю!!!))))

сделала так:

function enterHandler(e:Event):void{
distance = Math.round(scrollMC.y-bounds.y);
targetWay = loader.height-myMask.height;
if(scrolling == true){;
loader.y = -((targetWay/250)*distance);

коротко. и все работает!!))