Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Прилепающие заголовки разделов (http://www.flasher.ru/forum/showthread.php?t=177894)

v0vka 10.04.2012 23:59

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

прошу вашего концептуального совета, либо ссылку на примеры/фреймворки где такая или похожая функциональность была реализована

у меня самого появились такие мысли:
1. добавить слушателя mouseMove при скроллинге: проверять координаты каждого из заголовков и позиционировать их - медленно, не удобно, не естественно
2. добавить слушателя в onEnterFrame у каждого из заголовков: не знаю как это отразится на производительности (не будет ли дерганий, хочется чтобы всё выглядело естественно при скролле)

в общем то и всё...
ещё думаю как организовать эффект что один заголовок приклеивается к другому при соприкосновении (как будто встреча с препятствием)

in4core 11.04.2012 02:53

Цитата:

1. добавить слушателя mouseMove при скроллинге: проверять координаты каждого из заголовков и позиционировать их - медленно, не удобно, не естественно
2. добавить слушателя в onEnterFrame у каждого из заголовков: не знаю как это отразится на производительности (не будет ли дерганий, хочется чтобы всё выглядело естественно при скролле)
А нафига ? :) Ставьте заголовки поверх контента и пускай они там стоят сколько влезет, а контент будет прокручиваться за ними, до момента пока не достигнет последней вкладки.
Но если вкладки надо двигать, то тут все делается еще проще, каким нить TweenMax. Вообщем пока что по демке не понятно, что вы хотите сделать. Лучше словами описать проблему

v0vka 11.04.2012 09:44

Цитата:

Сообщение от in4core (Сообщение 1074301)
Вообщем пока что по демке не понятно, что вы хотите сделать. Лучше словами описать проблему

Смысл я хотел передать такой:
на странице есть контент разделенный по разделам, у каждого раздела есть свой заголовок, смысл в том что когда заголовок должен выйти за пределы сцены он не выходит а прилипает к границам области, при том что если там уже есть прилепленный заголовок он прилипает к нему (как в демке). Зачем это нужно? это способ навигации по контенту на странице, как мне видится довольно эффективный: пользователь всегда знает о любом разделе и подразделе и может переместиться к нему + такой вид навигации удобен при маленьком разрешении экрана (800 х 600).
также я хочу адаптировать его в последующем для мобильных устройств

anmelegov 11.04.2012 11:57

просто проверяй координаты, если заголовок выехал за пределы маски, через copyPixels рисуй их в другом спрайте, который не двигается и находится "выше" твоего контента

in4core 11.04.2012 12:08

Цитата:

Смысл я хотел передать такой:
А в сети есть пример доделанный, для тестирования ? Тогда просто можно больше сказать и посоветовать

Dukobpa3 11.04.2012 12:34

Вариантов море, ты и сам уже один из них реализовал Я не понимаю в чем сложности возникли?

Подписывать на ентерфрейм в каждом заголовке я бы не стал, смотря что там за скроллер используется, я бы подписался на какое-то событие скролла, в стандартном такое есть, отправляется когда координаты скроллируемого объекта меняются. Плюс подписывался не каждым заголовком а всем компонентом, который и будет уже манагерить заголовки.
Плюс вариант anmelegov с одним спрайтом который не двигается - тоже верная, только хз что там как с копипикселс, возможно, проще и быстрее будет аддЧилд.

Как-то так.


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

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