![]() |
Динамическое разделение текстового поля на символы.
Доброго дня, товарищи.
Цель такая: есть текстовое поле, созданное динамически, или вручную. Необходимо разбить его на отдельные символы и каждый символ поместить в отдельный клип, чтобы их можно было двигать независимо друг от друга. Скажем, для создания эффекта текста, собирающегося из букв, летящих с разных сторон. Моё решение: Я разбиваю текст на отдельные символы, динамически создаю для них текстовые поля с автосайзом а в качестве шага расстояния по горизонтали для этих символов задаю их ширину. Код AS1/AS2:
очень хотелось бы сохранить родное, шрифтовое расстояние между буквами. В моём примере оно не сохраняется, понятное дело. Пытался дать дополнительный множитель на ширину буквы: Код AS1/AS2:
Можете чем-то помочь.? Или я зря паникую и это эстетический выпендрёж.? |
а почему бы в конце всей сборки не вывести оригинал (текстовую фразу), а изначально ее скрыть?
|
А обязательно нужны текстовые поля? нельзя например заюзать BitmapData?
|
Цитата:
Если бы можно было задавать прозрачность отдельным буквам текста, то есть делать видимым часть текстового блока, это был бы выход: можно было бы отображать только символы, которые уже пришли на своё место. В случае, когда символы приходят на своё место не единовременно, а потом скрываются и отображается текстовый блок, будет единовременный заметный "рывок" всех символов. Хотя, на небольших текстах/больших скоростях, наверно, это приемлемо. это выход в том случае, если нет более гибкого варианта. спасибо) Цитата:
Но даже если битмап, то чем это спасёт ситуацию.? |
Цитата:
|
имхо сначала режем, а потмо в битмапу) я попробовал так.
Код AS1/AS2:
З.Ы. вопрос, как можно прикрутить допустим фильтр глоу изменяющийся тем же твином к каждому клипу-букве что бы он работал корректно? Поясню, просто прикрутить я и сам могу, проблема в том что при анимации он ведет себя не корректно и "пикселизован", кароч выглядит не как обычно и очень неадекватно. Пробую делать так: Код AS1/AS2:
|
2 nOobCrafter
Отличный код, здорово работает.) Спасибо, Но он не решает собственно проблемы (возможно, я не ясно объяснил её в первом посте): Каждый шрифт имеет свои межбуквенные интервалы (кернинг). И мне хотелось бы эти интервалы сохранить при динамическом разбивании текста на отдельные символы. Пришла в голову идея, что-то типа того: создание текстового блока с заданным текстом => пошаговое удаление и замена последнего символа. В этом случае можно задавать _х в зависимости от ширины оставшегося блока. Посмотрю, как работает - напишу. |
Не костыль, а подготовительные работы :) :
Создаём тестовое текстовое поле с текстом нужным шрифтом замерёем ширину. Разбиваем на символы и выставляем их (так, как вы и делали раньше) замеряем общую ширину получившихся символов. А теперь, испльзуя разницу между широтами и считаем ваш множитель для данного шрифта. в голове родилось, на практике не пробовал. |
| Часовой пояс GMT +4, время: 16:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.