![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 14
|
Приветствую уважаемого All'a.
Помогите доработать класс, создающий окно со скроллбаром под массив мувиклипов. Исходная идея такова. В первом действии конструктор класса рисует а) собственно окно - клип-контейнер, внутри которого б) клип-тело, куда помещаются объекты, в) клип-маска, и г) скроллбар для прокрутки объектов под маской. Вторым действием из имеющегося массива объектов создаются клипы, которые помещаются в клип-тело созданного окна. Третьим действием перерисовывается ползунок: изменяется его ширина и вычисляется коэффициент смещения клип-тела под маской при движении ползунка. Вопрос первый: такая структура мне кажется несколько корявой; наверняка вы делали скроллбары, как вы решали этот момент? Я хотел в первом действии создать массив мувиков и поместить его на подложку, лежащую на _root; затем эту подложку передать конструктору окна со скроллом, конструктор отрисует окошки, изымет подложку с клипами с _root и вставит ее на место клип-тела. Но как переносить клипы с содержимым с одной "базы" на другую, как переназначать им парентов?.. Вопрос второй, чисто технический. В предложенном примере массив мувиклипов заполняется рисованными цветными шариками радиусом 20; шарики лепятся вплотную друг к другу. Но клип-тело прокручивается немножко дальше своей длины - если сделать скажем 200 шариков, и прокрутить до конца, в конце останется пустое место на целый дополнительный шарик. В чем дело?.. имхо, "дыра" банальная, в расчете либо длины ползунка, либо коэффициента смещения. Просто глаз замылился... Код в аттаче. scrollbar и mySphere - классы, код из fla.as копируете во fla. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 14
|
Ап, наверно?..
Товарищи, неужели никому нечего сказать? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Плюс за ап.
|
|
|||||
|
Человек и Здание
|
Первое - все правильно, "перенести" объекты нельзя (по крайней мере, кроме пересоздания я метода не знаю)
__________________
Регардсы. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 14
|
Смольный (Smolniy)
понятно... а может, можно как-то по-другому скроллбар сконструировать? мне не нравится сама последовательность - сначала создается окно прокрутки, потом в него создаются объекты, потом снова обращение к окну и вызов метода... Погоня за двумя зайцами. |
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
я делал так:
1.Сначала создавал клип-контейнер где будет отображение 2. Потом создавал клип-маску для этого контейнера - это видимая область 3. Потом, паралельно им, атачил клип-скрол. У него в классе скролл позиционируется относительно отношения маски к контейнеру. Если размеры контейнера изменяются - у скрола есть метод для перрерисования его. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 14
|
GFreemen
То есть разделить контейнер и скроллбар, создавать их не в одном классе? Оригинально, спасибо)) Получилось действительно удобнее. В аттаче box, mySphere и scrollbar2 - классы, fla - код документа. Разобрался (условно) с тем, почему при большом количестве клипов в контейнере прокрутка работает неточно. Коэффициент смещения клип-тела завязан на длину "пробега" ползунка, тот считается с дробными долями, и корректно его отобразить флэш не может. Погрешность составляет 1% радиуса шара, при двухстах шариках это аккурат один "лишний" или "недостающий", плюс-минус. |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|