PDA

Просмотр полной версии : Эффект рисования текста


ЗлОй ПрОграММер
18.07.2011, 13:17
Кто подскажет можно как нито сделать эффект написания букв, кроме как рисовать покадрово, ну тоесть такая картина есть ручка и она пишет текст, вот хочу такую анимацию сделать

goodguy
18.07.2011, 13:31
Проще всего как раз нарисовать покадрово.
Если программно, то я бы наверное сделал массив ключевых точек, и рисовал линии от одной точке к другой

ЗлОй ПрОграММер
18.07.2011, 14:28
а можно как нито запустить воспроизведение кадров(тип запись) и в это время рисовать ???

Aloran
18.07.2011, 14:45
можно еще маску заюзать

fish_r
18.07.2011, 15:01
можно еще маску заюзать
как вы будете маску юзать если, к примеру, надо открыть одну из двух-трех параллельных линий буквы?
эффекта ручного написания не получится

Есть мысль, правда не проверял на практике. Что будет по нагрузке - не знаю. Суть:
- делаете текстфилд с нужной буквой, форматируете,
- по его размерам делаете битмапу, выкладываете на сцену, позиционируете,
- текстфилд передаёте в спец. модуль который изучает пикселы по направлениям снизу-вверх сверху-вниз (пожалуй правильнее), слева-направо,
- как только он находит пиксел нужного цвета (цвета буквы) сообщает его координаты,
- по этим координатам на битмапе (что на сцене лежит) красите нужный пиксел...

Если получится дайте знать :) Интересно будет посмотреть, сейчас делать самому некогда :)

arkadattx
18.07.2011, 15:19
fish_r, таким образом это равносильно написанию распознавания текста на флеше.

mooncar
18.07.2011, 16:14
как вы будете маску юзать если, к примеру, надо открыть одну из двух-трех параллельных линий буквы?

Маску можно отрисовать покадрово, не только анимировать ее Shape-твином.
Для таких случаев это самое то, когда текст небольшой.

t4arty
18.07.2011, 16:37
можно через bitmapdata#copypixel попробывать..

fish_r
18.07.2011, 16:44
Маску можно отрисовать покадрово, не только анимировать ее Shape-твином.
Для таких случаев это самое то, когда текст небольшой.
Да, хороший вариант. Не догадался. В дизайне слабоват :)

Добавлено через 1 минуту
fish_r, таким образом это равносильно написанию распознавания текста на флеше.

распознавание текста будет на порядок посложнее, это так - навскидку, без оценки всех нюансов...

arkadattx
18.07.2011, 17:07
распознавание текста будет на порядок посложнее, это так - навскидку, без оценки всех нюансов...
Найти точку начала закрашивания и проследовать четко по линии движения предполагаемой ручки? И это все на растровом по сути изображении... Если вы набросаете хоть что-то похожее и соответствующее описаниям - от меня + в репу, респект и уважуха.

fish_r
18.07.2011, 17:16
Найти точку начала закрашивания и проследовать четко по линии движения предполагаемой ручки? И это все на растровом по сути изображении... Если вы набросаете хоть что-то похожее и соответствующее описаниям - от меня + в репу, респект и уважуха.

Самому интересно попробовать... Потом. Позже. Можно и без суперпризов :)
Хотя.. вы правы, задачка не такая простая как кажется на первый взгляд, нужны предпроходы, расстановка приоритетов... Но, в общем, интересная :).

DaFive
18.07.2011, 19:02
По запросу в гугле "Эффект написания текста flash": http://goo.gl/F0hAL

Dukobpa3
18.07.2011, 20:18
Хотя.. вы правы, задачка не такая простая как кажется на первый взгляд,

Но и не настолько сложна))

Допустим у нас линии толщиной в один пиксель. Тогда всё легко, двигаемся от лево-верха, в право-низ, по линиям. т.е. учитываются следующие моменты:
1. были мы в этой точке или нет.
2. закрашена эта точка или нет.

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

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

//***************

Таким образом по пиксельно отлавливаем. Работать в таком виде будет только с одной строкой. Для больше строк надо будет еще что-то думать.

Упростить задачу можно тем что каждую букву изначально всунуть в отдельную битмапу. Тогда будет проще организовать переход с буквы на букву. Если на текущей букве не осталось закрашенных точек в которых мы еще не были - значит берем рисуем следующую.

//**********************
К этому всему лучше прикрутить маску.
Проверку делать попиксельно по битмапе картинки, а рисовать линией толщиной в пару пиксел. Суть в том чтоб проверка была "тоньше" чем линия. Таким образом эффект еще больше сгладится.

Ну и как-то так. Может на досуге работающий пример организую, заинтересовало:) Только не сейчас.

fish_r
18.07.2011, 21:21
Тут дело не только в том, чтобы по букве пройтись, в этом то я сложностей не вижу, дело в том, чтобы создать полную иллюзию "написания" этой буквы рукой. Т.е. линии буквы должны прокладываться именно в том направлении в котором их чертила бы рука, а это значит, что иногда в противоположных основным.

И, потом... мне что то уже не интересно :). Дело в том, что такая штука нужна только для малословных предложений, ведь нет смысла выводить целые абзацы таким образом? Значит существующей техники
наложения маски вполне достаточно... Может и попробую, но уже когда совсем-совсем заняться нечем будет :).

Dukobpa3
18.07.2011, 22:50
дело в том, чтобы создать полную иллюзию "написания" этой буквы рукой
В таком случае придется озадачиться еще и изучением материалов шрифтосоздания. Элементы там всякие, засечки, кружочки. И тогда уже действительно больно уж похоже будет на распознание текста:)

fish_r
18.07.2011, 23:31
Не, не. Надо будет только изучить правила правописания, да и то не слишком скурпулёзно. Засечки, наклоны, толщина никакой роли не играют. Если мы об одном и том же говорим :)

Это как игрушку, своеобразную, делать. Только применение ей... где?

Dukobpa3
18.07.2011, 23:41
Засечки, наклоны, толщина никакой роли не играют. Играют так как отрисовываться скорее всего будет не рукописный а печатный текст. Если рукописный шрифт какой-то то соглашусь. А так вообще придется под каждый вид шрифтов разные схемы делать.

- с засечками
- без засечек
- италик (рукописный, не путать с oblique, в котором обычное начертание буков, просто они наклонены)

Aegis
16.08.2011, 16:20
эту задачу интересно решили коллеги (http://demiart.ru/forum/index.php?showtopic=32007&st=0&) скриптом.