Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Конструкция слайдера (http://www.flasher.ru/forum/showthread.php?t=210110)

dark256 28.01.2015 18:51

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

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

newsLenta2.swf   (32.9 Кб)

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

Цитата:

Сообщение от illuzor (Сообщение 1178112)
Что там считать то? Если .х координата картинки в заданном диапазоне и по длине не вылезает за этот диапазон - показываем, остальное скрываем.

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

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 твиннера.


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

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