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

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

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

Регистрация: Dec 2005
Сообщений: 20
По умолчанию Бесконечная 2D карусель

Доброго времени суток, форумчане.

Передо мною встала следующая задача:
У меня есть мувик, его длина зависит от числа элементов в нем. Я сделал его прокрутку влево и вправо, чтобы можно было его двигать, когда он не влезает в рабочую область.

Теперь нужно сделать так, что когда он подвинут до конца в одну из сторон, при дальнейшем движении он выдвигался из-за границы видимой области с самого начала. И так снова и снова. Т.е. как бы зациклить его, закольцевать.

Сам мувик состоит из некоторого числа элементов. Я пробовал по достижению координаты х соответствующего значения переносить первый элемент в самый конец, но если элементов мало, то переносится тот, который ещё в видимой области, а на его прежнем месте образуется пустота.

Как мне правильно продублировать элемент?
Может есть способ проще сделать такую бесконечную прокрутку по кругу?

Старый 30.09.2010, 02:28
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Вариант тока один - после полной прокрутки до конца переносить скроллер в начало опять.

Старый 30.09.2010, 09:29
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 3  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от MadEx Посмотреть сообщение
Как мне правильно продублировать элемент?
По разному. Зависит от того, что из себя этот элемент представляет, например меняется ли его содержимое динамически.

Добавлено через 1 минуту
Цитата:
Сообщение от in4core Посмотреть сообщение
Вариант тока один - после полной прокрутки до конца переносить скроллер в начало опять.
переносить?
__________________
freelance | Раздор

Старый 30.09.2010, 11:24
NAO111 вне форума Посмотреть профиль Отправить личное сообщение для NAO111 Найти все сообщения от NAO111
  № 4  
Ответить с цитированием
NAO111

Регистрация: Oct 2009
Сообщений: 155
Сделай проверку на кол-во элементов. Если все они помещаются в область, то не делай никакой карусели.

Если все-же карусель так необходима, то показывай на сцене в один момент времени разное кол-во элементов, в зависимости от их ОБЩЕГО кол-ва, например:

есть у тебя 10 элементов и по ТЗ тебе надо показывать одновременно на сцене 3 эл-та, то:

| Э1 Э2 Э3 | Э4 Э5 Э6 Э7 Э8 Э9 Э10
Э1 | Э2 Э3 Э4 | Э5 Э6 Э7 ...
Э2 Э3 Э4 Э5 Э6 Э7 Э8 | Э9 Э10 Э1 |

Тут проблем, как я понял нету.
Ну а если элемента всего 3, то показывай в один момент времени только 2 элемента:

|Э1 Э2| Э3
Э1 |Э2 Э3|
Э2 |Э3 Э1|

А если элемента всего 2, то показывай в один момент времени на сцене только 1 элемент

Старый 30.09.2010, 15:00
MadEx вне форума Посмотреть профиль Отправить личное сообщение для MadEx Найти все сообщения от MadEx
  № 5  
Ответить с цитированием
MadEx

Регистрация: Dec 2005
Сообщений: 20
http://madex-design.ru/kyboe/ - вот мой ролик.



Есть мувиклип всего спектра со всем часами. Он шире сцены, когда загружается. Я сделал его прокрутку, если навести на затемнённые области курсор. Часов порядка 50 штук. Будут добавляться новые со временем.

Этот мувиклип состоит из 8 участков спектра, каждый из которых соответствует цвету часов. И каждый мувиклип участка спектра состоит из мувиклипов часов этого цвета и картинки участка спектра, которая лежит в лоадере. Мувиклип каждых часов тоже состоит из лоадера.



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


Моя проблема заключается в том, что я не знаю, сколько часов какого цвета будет, поэтому если при прокрутке вправо переносить крайний левый участок спектра вправо может получиться так, что слева будет пустота. Поэтому его нужно копировать вправо, а потом, когда левый такой же исчезнет за границей сцены - удалять левый. Вот как его правильно скопировать, я и не знаю!

Может стоит 2 раза добавить весь спектр и перемещать его влево и враво от того, который попадает в сцену? Правда я не знаю минимальное число часов в 1 серии. ведь если оставить только одну включенной, то может получиться так, что весь спектр будет короче чем ширина сцены.


Последний раз редактировалось MadEx; 30.09.2010 в 15:13.
Создать новую тему Ответ Часовой пояс GMT +4, время: 15:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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