PDA

Просмотр полной версии : Вертикальный скроллинг текста на Starling


Heidy
16.12.2013, 13:42
Добрый день
Подскажите как можно реализовать скролл текста на Starling'е с полосой прокрутки(прокручивание текста реализовывал через маску SpriteRect) и одновременно колесом мышки.
Подключил Feathers для работы со ScrollText, текст скроллиться по колесику мышки, но не получается связать с полоской прокрутки.
Работает по отдельности с колесиком или с полосой, вместе не дружат(

dimarik
17.12.2013, 19:56
Привет! Feathers + Starling = тебе делать свои костыли. Эти библиотечки только для промоушена и туториола. Шаг вправо/влево -- иди на ихний форум (http://forum.starling-framework.org/forum/feathers) и сабмить ишшуе или фичу.

KumoKairo
18.12.2013, 09:50
Скролл текста в старлинге делается с помощью компонента ScrollText (http://wiki.starling-framework.org/feathers/scroll-text)фреймворка Feathers. Насколько я помню, там скроллер прилагается по умолчанию (если тему подключить или самому заскинить)

Предыдущий комментатор видимо не очень компетентен в этих вопросах, в Feathers реализовано огромное число готовых и легко настраиваемых компонентов, обязательно посмотрите. Текст скролить таким образом можно и вертикально, и горизонтально, и как угодно.

Кстати еще гляньте на репозиторий на гитхабе, там с этим СкроллТекстом была такая история, что один товарищ сделал высокопроизводительную систему отрисовки текста через генерацию полигонов по заданному векторному шрифту (напоминает принципы работы Scaleform), таким образом получилась очень эффективная модель отрисовки текста. Не знаю точно, прикрутили ли ее к ScrollText или нет, но дело было давно (летом) так что вы скорее всего попадете на улучшенную реализацию.

fljot
18.12.2013, 16:13
Предыдущий комментатор видимо не очень компетентен в этих вопросах, в Feathers реализовано огромное число готовых и легко настраиваемых компонентов, обязательно посмотрите.

Согласитесь, странно, что для прокрутки текста они (будем звать Джоша Перова на "вы":)) делают ScrollText. А для прокрутки картинки понадобится ScrollImage и т.д.

KumoKairo
19.12.2013, 01:20
Это вам может странно, а мне совершенно не странно. Текст изначально представляется в векторном формате, который мобильники очень плохо воспринимают, особенно в приложениях с высокой динамикой (надеюсь вы не забыли, что эти библиотеки для AIR приложений на мобилки?). Поэтому способ загрузки и отображения текста в скроллере очень сильно отличается от способа загрузки и отображения изображений. Изображения - готовые текстуры для полигона, поэтому работы с прокруткой изображений во много раз меньше, чем работы с представлением текста, тем более прокручиваемого. Ведь текст нужно растеризовать с требуемым размером, добавить антиалиасинг и прочие вещи.
Все проблемы от неосведомленности. Вам такие вещи кажутся странными, но поймите, эти библиотеки не глупые люди делают.

alatar
19.12.2013, 15:00
KumoKairo, с точки зрения скроллера (и в fathers тоже) абсолютно все равно, что там картинка или текст. ScrollText имеет неудачное название, что сбивает людей с толку, по-сути это TextArea без возможности редактирования.
P.S. Перед тем как сделать далекоидущие выводы, желательно заглянуть в исходники (тогда и с dimarik'ом бы согласились :) ).

dimarik
19.12.2013, 23:01
Скролл текста в старлинге делается с помощью компонента ScrollText (http://wiki.starling-framework.org/feathers/scroll-text)фреймворка Feathers.

Чудак-человек. Ты слышал как сам Джош говорит об этой поделке?
ScrollText provides the workaround of displaying text on the runtime's classic
software-rendered display list.
Workaround и не более.

KumoKairo
20.12.2013, 01:06
Хм, с отображением и правда накрутил лишнего.

Но блин, при чем тут костыли когда есть готовый компонент, который к тому же (я все же был уверен что прикрутили ту штуку с отрисовкой текста полигонами) разивается комьюнькой?

dimarik
21.12.2013, 02:39
Я почти год назад стал немного смотреть на invalidation/validation механизм от Джоша и, примерно через полгода, понял, что ничего лучше флексового с его идеей мижурмента, коммит пропертиез и апдейт дисплей лист, не видел. Вот флексовая идея хорошая, но реализация подкачала. А вот вот идейка сохранять флаги конкретного свойства инвалидации в суперклассе мне очень понравились. Чем с удовольствием и воспользовался.
Вот как в Feathers сделано с delayedInvalidation -- это просто антипесня. Я спросил себя тогда, а нафига все это? Есть же математический подход, типа переходных процессов. <в черновике я написал много. и про валидацию размеров довольно много. потом потер>

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

alatar
22.12.2013, 13:59
<в черновике я написал много. и про валидацию размеров довольно много. потом потер>
Зря потер.

KumoKairo
22.12.2013, 18:12
Я бы тоже почитал)

fljot
22.12.2013, 18:38
Да. пиши хоть мини-пост. А то здесь уже полным оффтопом идёт.