Форум 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)
-   -   Scroll для массива клипов (http://www.flasher.ru/forum/showthread.php?t=124331)

bumblebee 27.04.2009 03:21

Scroll для массива клипов
 
Здравствуйте!
Столкнулся с трудностью прокрутки массива из клипов.
Клипы представляют из себя список. У первого клипа в списке имя "item01", у второго "item02",и тд.
Вот начал делать прокручивание этого списка, приведу код:
Код AS1/AS2:

//для бегунка прокрутки текста
roller.onPress = function() {
        //считаем коэфицент частное, высоты между стрелками и высотой самого списка
        vertical = (scrollDownMenu._y - scrollUpMenu._y)/15*podMenu0.length;
        _root.onMouseMove = function():Void {
                //убрал остальной код, чтобы не загромождать и не объяснять что для чего...
                //движим, пока не работает
                for (i=1; i<podMenu0.length+1; i++) {
                        _root["item0"+i]._y -= roller._y/vertical;
                }
        }
}

scrollDownMenu, scrollUpMenu - это стрелочки для прокручивания располагающиеся по окончанию поля
roller - это сам бегунок
podMenu0 - массив содержаний список ссылок (для справки: после нажатия на один из элементов проследуем по ссылке)
vertical - переменная, ее можно сделать или положительной и отрицательной, для движения вверх или вниз

Если в строке
Код AS1/AS2:

_root["item0"+i]._y -= roller._y/vertical;

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

Перепробовал множество вариантов:
- определение предыдущего положения бегунка и изменения на противоположную величину переменной vertical
- где находится бегунок по отнощению к самим стрелкам прокрутки
- и др варианты

Прошу подсказать, как решить вопрос и в правильном ли направлении двигаюсь. Или есть альтернативное решение.

Спасибо!

iNils 27.04.2009 03:26

У меня один и важный вопрос. Что мешает вам двигать не сто тысяч миллионов клипов, а один контейнер, в котором находятся все эти сто тысяч миллионов?

bumblebee 27.04.2009 18:40

А как создать контейнер?

ОльгаЮрьевна 27.04.2009 18:54

например так:
Код AS1/AS2:

var container:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());


bumblebee 27.04.2009 20:42

И сразу же вопрос, а как добавить туда клипы эти самые. И добавятся ли,если эти строки клипы находятся в другом клипе. Объясню чтобы было понятнее, есть клип pole. В нем находится два слоя один слой это список этих самых клипов,а второй - маска для списка. Маска нужна для того, если список будет очень большой, чтобы он не вылазил в определенном месте. Все так сложно, потому что вся часть проекта уже сделанна, осталось только эту полосу прокручивания.

Wolsh 27.04.2009 20:54

Выделить все эти "списки" и нажать F8, собрать в один клип, дать ему имя и двигать его. Правда боюсь Вам придется и код поправить где идет обращение к этим "спискам"))

Добавлено через 12 минут
Теоретические выкладки по скроллу))
http://www.flasher.ru/forum/showpost...48&postcount=6


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

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