Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Скроулинг колесом в подгружаемых swf (http://www.flasher.ru/forum/showthread.php?t=193903)

PRO100Light 04.02.2013 02:11

Скроулинг колесом в подгружаемых swf
 
Значит, подгружаются разные и выгружаются разные swf в основной контейнер. Скрол у всех одинаковый. По началу все плавно, но после загрузки других swf скорость скрола увеличивается. Я так понимаю это из-за delta... Как справится?
Код AS1/AS2:

var mouseListener = new Object();
mouseListener.onMouseWheel = function (delta)
{
        if (scroll_middle._y <=0) {scroll_middle._y = 0}
        if (scroll_middle._y + scroll_middle._height >= scrollbar._y + scrollbar._height -3) {scroll_middle._y = scrollbar._y + scrollbar._height -3-scroll_middle._height}
 
                if (delta <= 0) {
                if (scroll_middle._y + scroll_middle._height<= scrollbar._y + scrollbar._height -3)
                                {
                                        scroll_middle._y = scroll_middle._y + 3;
                                }
}
 
        else {               
                if (delta > 0)
                                {
                                        scroll_middle._y = scroll_middle._y - 3;
                                }
        }
        calc();
};
Mouse.addListener(mouseListener);


Tails 04.02.2013 10:27

В delta указано количество строк, которые должны проматываться. Всё остальное - ваши расчёты.
Сдвигайте контейнер по y, на высоту одного контейнера * delta

PRO100Light 06.02.2013 01:01

не помогает...

dark256 06.02.2013 01:09

Цитата:

Сообщение от PRO100Light (Сообщение 1119059)
Значит, подгружаются разные и выгружаются разные swf в основной контейнер. Скрол у всех одинаковый. По началу все плавно, но после загрузки других swf скорость скрола увеличивается. Я так понимаю это из-за delta... Как справится?

Код AS1/AS2:

Mouse.addListener(mouseListener)

При подгрузке ДРУГОЙ SWF вы мышь отписываете от листенера?
Как-то так вот:
Код AS1/AS2:

Mouse.removeListener(mouseListener)

То есть у вас постоянно добавляются слушатели колеса мышки, которые всем стадом и кидают скроллеру свои дельты.


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

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