Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.04.2008, 05:13
vitalian вне форума Посмотреть профиль Отправить личное сообщение для vitalian Найти все сообщения от vitalian
  № 1  
Ответить с цитированием
vitalian

Регистрация: Mar 2008
Сообщений: 14
По умолчанию Класс "скролбар"

Приветствую уважаемого All'a.
Помогите доработать класс, создающий окно со скроллбаром под массив мувиклипов.

Исходная идея такова.
В первом действии конструктор класса рисует а) собственно окно - клип-контейнер, внутри которого б) клип-тело, куда помещаются объекты, в) клип-маска, и г) скроллбар для прокрутки объектов под маской.
Вторым действием из имеющегося массива объектов создаются клипы, которые помещаются в клип-тело созданного окна.
Третьим действием перерисовывается ползунок: изменяется его ширина и вычисляется коэффициент смещения клип-тела под маской при движении ползунка.


Вопрос первый: такая структура мне кажется несколько корявой; наверняка вы делали скроллбары, как вы решали этот момент?
Я хотел в первом действии создать массив мувиков и поместить его на подложку, лежащую на _root; затем эту подложку передать конструктору окна со скроллом, конструктор отрисует окошки, изымет подложку с клипами с _root и вставит ее на место клип-тела.
Но как переносить клипы с содержимым с одной "базы" на другую, как переназначать им парентов?..

Вопрос второй, чисто технический.
В предложенном примере массив мувиклипов заполняется рисованными цветными шариками радиусом 20; шарики лепятся вплотную друг к другу. Но клип-тело прокручивается немножко дальше своей длины - если сделать скажем 200 шариков, и прокрутить до конца, в конце останется пустое место на целый дополнительный шарик.
В чем дело?..
имхо, "дыра" банальная, в расчете либо длины ползунка, либо коэффициента смещения. Просто глаз замылился...


Код в аттаче.
scrollbar и mySphere - классы, код из fla.as копируете во fla.
Вложения
Тип файла: rar script.rar (1.9 Кб, 94 просмотров)

Старый 21.04.2008, 16:58
vitalian вне форума Посмотреть профиль Отправить личное сообщение для vitalian Найти все сообщения от vitalian
  № 2  
Ответить с цитированием
vitalian

Регистрация: Mar 2008
Сообщений: 14
Ап, наверно?..
Товарищи, неужели никому нечего сказать?

Старый 21.04.2008, 16:59
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Плюс за ап.

Старый 21.04.2008, 21:31
Смольный (Smolniy) вне форума Посмотреть профиль Отправить личное сообщение для Смольный (Smolniy) Посетить домашнюю страницу Смольный (Smolniy) Найти все сообщения от Смольный (Smolniy)
  № 4  
Ответить с цитированием
Смольный (Smolniy)
Человек и Здание
 
Аватар для Смольный (Smolniy)

администратор
Регистрация: Aug 1999
Адрес: Москау-сити, Рассея
Сообщений: 4,671
Отправить сообщение для Смольный (Smolniy) с помощью ICQ
Первое - все правильно, "перенести" объекты нельзя (по крайней мере, кроме пересоздания я метода не знаю)
__________________
Регардсы.

Старый 21.04.2008, 23:54
vitalian вне форума Посмотреть профиль Отправить личное сообщение для vitalian Найти все сообщения от vitalian
  № 5  
Ответить с цитированием
vitalian

Регистрация: Mar 2008
Сообщений: 14
Смольный (Smolniy)
понятно...
а может, можно как-то по-другому скроллбар сконструировать?
мне не нравится сама последовательность - сначала создается окно прокрутки, потом в него создаются объекты, потом снова обращение к окну и вызов метода... Погоня за двумя зайцами.

Старый 22.04.2008, 15:34
GFreemen вне форума Посмотреть профиль Отправить личное сообщение для GFreemen Найти все сообщения от GFreemen
  № 6  
Ответить с цитированием
GFreemen
 
Аватар для GFreemen

Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
я делал так:
1.Сначала создавал клип-контейнер где будет отображение
2. Потом создавал клип-маску для этого контейнера - это видимая область
3. Потом, паралельно им, атачил клип-скрол. У него в классе скролл позиционируется относительно отношения маски к контейнеру. Если размеры контейнера изменяются - у скрола есть метод для перрерисования его.

Старый 23.04.2008, 03:29
vitalian вне форума Посмотреть профиль Отправить личное сообщение для vitalian Найти все сообщения от vitalian
  № 7  
Ответить с цитированием
vitalian

Регистрация: Mar 2008
Сообщений: 14
GFreemen
То есть разделить контейнер и скроллбар, создавать их не в одном классе?
Оригинально, спасибо)) Получилось действительно удобнее.
В аттаче box, mySphere и scrollbar2 - классы, fla - код документа.

Разобрался (условно) с тем, почему при большом количестве клипов в контейнере прокрутка работает неточно. Коэффициент смещения клип-тела завязан на длину "пробега" ползунка, тот считается с дробными долями, и корректно его отобразить флэш не может. Погрешность составляет 1% радиуса шара, при двухстах шариках это аккурат один "лишний" или "недостающий", плюс-минус.
Вложения
Тип файла: rar script2.rar (2.2 Кб, 99 просмотров)

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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