Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Кастомный ScrollBar (http://www.flasher.ru/forum/showthread.php?t=133446)

insected 05.12.2009 14:17

Кастомный ScrollBar
 
Мне нужно. чтобы при нажатии на thumb и кнопки скролла они смещались по х и у немного. Как это сделать? В классе ScrollBar нет возможности засунуть свои классы для thumb и arrow.

bicubic_bublic 05.12.2009 14:30

как это нет?
scrollBar.setStyle('thumbDownSkin', ...);
scrollBar.setStyle('downArrowDownSkin', ...);
scrollBar.setStyle('upArrowDownSkin', ...);

insected 05.12.2009 14:38

Ну это скины. Может я что то не понимаю, но в них это сделать не особо получается.
Меняю скин стрелки на свой
Код AS3:

up-arrow-skin :                 ClassReference("skins.scroll.CustomScrollArrowSkin");

В классе скина перегружаю updateDisplayList и если name == downArrowUpSkin например, то делаю parent.x ++. Ок. Это происходит 1 раз и больше не повторяется. То есть первый раз на кнопку со стрелкой нажимаешь, она смещается, при последующих нажатиях нет.

bicubic_bublic 05.12.2009 14:50

Код AS3:

public class MyScrollArrowDown_downSkin extends MovieClip {
    public function MyScrollArrowDown_downSkin() {
        var button:MovieClip = new ScrollArrowDown_downSkin();
        addChild(button);
        button.x = button.y = 1;
    }
}

Код AS3:

scrollBar.setStyle('downArrowDownSkin', MyScrollArrowDown_downSkin);

Добавлено через 38 минут
так... я кажется понял что вы имели ввиду.. может так?
Код AS3:

public class MyScrollBar extends ScrollBar {
        override protected function scrollPressHandler(event:ComponentEvent):void {
                super.scrollPressHandler(event);
                if (event.currentTarget == upArrow) {
                        upArrow.x++;
                } else if (event.currentTarget == downArrow) {
                        downArrow.x++;
                }
        }
}


insected 05.12.2009 15:32

Да, спасибо. Первый вариант помог.
Второй - не вижу ни метода такого в ScrollBar ни upArrow, downArrow

bicubic_bublic 05.12.2009 15:53

Цитата:

Второй - не вижу ни метода такого в ScrollBar ни upArrow, downArrow
вы в документации смотрите или в исходниках ScrollBar?

insected 06.12.2009 15:38

в исходниках mx.controls.scrollClasses.ScrollBar

...Да лан, уже вопрос решен. спасибо за помощь

bicubic_bublic 07.12.2009 10:43

Цитата:

Сообщение от insected (Сообщение 870541)
в исходниках mx.controls.scrollClasses.ScrollBar

...Да лан, уже вопрос решен. спасибо за помощь

не вводите людей в заблуждение..
это раздел "Программирование на ActionScript 3.0, под API 9 - 10 версии Flash Player'а (AVM2)"

Flex - в соседнем..

insected 07.12.2009 11:48

ок. сорри...


Часовой пояс GMT +4, время: 21:57.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.