PDA

Просмотр полной версии : Конструкция слайдера


dark256
28.01.2015, 18:51
Подозреваю, что изобретабю очередной велосипед, но тем не менее....
Как бы прятать боковые части иконок?
Сейчас все это в маску вторнуто.... Вот не могу придумать. Совет нужен :)

Либо совсем от маски отказаться и по индексам видимость мониторить....
Но на большом кол-ве объектов это будет как-то нехорошо....

newsLenta2.swf

GBee
28.01.2015, 18:53
Какие боковые?
Обычно либо ограничивают кол-во видимых и перещелкивают жестко на сдвиг. Или делай градиентную альфу типа уходят в туман.

MikroAcse
28.01.2015, 19:14
Показывай только те элементы, которые полностью входят в маску.

Hauts
28.01.2015, 19:20
Плавный уход в белый цвет фона.

И что-то она подлагивает, да и сглаживание бы. :)

dark256
28.01.2015, 21:48
Маска программная, градиент тут слегка не в жилу.
Подлагивает - фигня. Прототип ибо.

Показывай только те элементы, которые полностью входят в маску.

Вот я и думаю - как бы это обсчитывать элегантнее?

illuzor
28.01.2015, 22:22
как бы это обсчитывать элегантнее?Что там считать то? Если .х координата картинки в заданном диапазоне и по длине не вылезает за этот диапазон - показываем, остальное скрываем.

dark256
28.01.2015, 23:43
Что там считать то? Если .х координата картинки в заданном диапазоне и по длине не вылезает за этот диапазон - показываем, остальное скрываем.

То есть в цикле перебираем все слоты на проверку координат?
Ну... это не сложно... Может быть как-нть там еще более эстетично?... Типа слушатели позиции итема... хм... хм?

nubideus
29.01.2015, 00:17
var cellWidth = ширина ячейки (в центре ячейки лежит центр иконки)
var x = сдвиг слайдера (предполагается что меньше 0 и больше -sliderWidth + cellWidth * 6)
var index = int(-x / cellWidth)

и все, показываешь иконки с индексами index, index + 1, .., index + 5, все остальное убираешь

если обобщить, то это таблица с ячейками фиксированного одинакового размера.
вот например массив [0, 5, 10, 15, 20], нужно найти в этом массиве "левое" ближайшее к 8. шаг заранее известно = 5.
int(8 / 5) === 1.

Добавлено через 21 час 14 минут
Флейм
Раздел для болтовни и выпуска пара.
Алгоритмы и программирование обсуждаются в разделах AS 1/2, AS 3 и тп.че я увидел только что

dark256
30.01.2015, 12:03
че я увидел только что
Тут не алгоритм был нужОн, а таки совет ;)

Вроде реализовалось:
http://188.226.221.96/SOUNDSTAGE/

Привязал таки к крайним координатам по onUpdate твиннера.