Просмотр полной версии : Эффект рисования текста
ЗлОй ПрОграММер
18.07.2011, 13:17
Кто подскажет можно как нито сделать эффект написания букв, кроме как рисовать покадрово, ну тоесть такая картина есть ручка и она пишет текст, вот хочу такую анимацию сделать
Проще всего как раз нарисовать покадрово.
Если программно, то я бы наверное сделал массив ключевых точек, и рисовал линии от одной точке к другой
ЗлОй ПрОграММер
18.07.2011, 14:28
а можно как нито запустить воспроизведение кадров(тип запись) и в это время рисовать ???
можно еще маску заюзать
как вы будете маску юзать если, к примеру, надо открыть одну из двух-трех параллельных линий буквы?
эффекта ручного написания не получится
Есть мысль, правда не проверял на практике. Что будет по нагрузке - не знаю. Суть:
- делаете текстфилд с нужной буквой, форматируете,
- по его размерам делаете битмапу, выкладываете на сцену, позиционируете,
- текстфилд передаёте в спец. модуль который изучает пикселы по направлениям снизу-вверх сверху-вниз (пожалуй правильнее), слева-направо,
- как только он находит пиксел нужного цвета (цвета буквы) сообщает его координаты,
- по этим координатам на битмапе (что на сцене лежит) красите нужный пиксел...
Если получится дайте знать :) Интересно будет посмотреть, сейчас делать самому некогда :)
arkadattx
18.07.2011, 15:19
fish_r, таким образом это равносильно написанию распознавания текста на флеше.
как вы будете маску юзать если, к примеру, надо открыть одну из двух-трех параллельных линий буквы?
Маску можно отрисовать покадрово, не только анимировать ее Shape-твином.
Для таких случаев это самое то, когда текст небольшой.
можно через bitmapdata#copypixel попробывать..
Маску можно отрисовать покадрово, не только анимировать ее Shape-твином.
Для таких случаев это самое то, когда текст небольшой.
Да, хороший вариант. Не догадался. В дизайне слабоват :)
Добавлено через 1 минуту
fish_r, таким образом это равносильно написанию распознавания текста на флеше.
распознавание текста будет на порядок посложнее, это так - навскидку, без оценки всех нюансов...
arkadattx
18.07.2011, 17:07
распознавание текста будет на порядок посложнее, это так - навскидку, без оценки всех нюансов...
Найти точку начала закрашивания и проследовать четко по линии движения предполагаемой ручки? И это все на растровом по сути изображении... Если вы набросаете хоть что-то похожее и соответствующее описаниям - от меня + в репу, респект и уважуха.
Найти точку начала закрашивания и проследовать четко по линии движения предполагаемой ручки? И это все на растровом по сути изображении... Если вы набросаете хоть что-то похожее и соответствующее описаниям - от меня + в репу, респект и уважуха.
Самому интересно попробовать... Потом. Позже. Можно и без суперпризов :)
Хотя.. вы правы, задачка не такая простая как кажется на первый взгляд, нужны предпроходы, расстановка приоритетов... Но, в общем, интересная :).
По запросу в гугле "Эффект написания текста flash": http://goo.gl/F0hAL
Dukobpa3
18.07.2011, 20:18
Хотя.. вы правы, задачка не такая простая как кажется на первый взгляд,
Но и не настолько сложна))
Допустим у нас линии толщиной в один пиксель. Тогда всё легко, двигаемся от лево-верха, в право-низ, по линиям. т.е. учитываются следующие моменты:
1. были мы в этой точке или нет.
2. закрашена эта точка или нет.
если вокруг текущего положения нету ни одной закрашенной точки или таких в которых мы еще не были - продвигаемся вправо-верх.
Если есть выбор между точкой в которой уже были, и точкой в которой еще не были - двигаемся в туда где еще не были (соответственно закрашенные имеются в виду)
//***************
Таким образом по пиксельно отлавливаем. Работать в таком виде будет только с одной строкой. Для больше строк надо будет еще что-то думать.
Упростить задачу можно тем что каждую букву изначально всунуть в отдельную битмапу. Тогда будет проще организовать переход с буквы на букву. Если на текущей букве не осталось закрашенных точек в которых мы еще не были - значит берем рисуем следующую.
//**********************
К этому всему лучше прикрутить маску.
Проверку делать попиксельно по битмапе картинки, а рисовать линией толщиной в пару пиксел. Суть в том чтоб проверка была "тоньше" чем линия. Таким образом эффект еще больше сгладится.
Ну и как-то так. Может на досуге работающий пример организую, заинтересовало:) Только не сейчас.
Тут дело не только в том, чтобы по букве пройтись, в этом то я сложностей не вижу, дело в том, чтобы создать полную иллюзию "написания" этой буквы рукой. Т.е. линии буквы должны прокладываться именно в том направлении в котором их чертила бы рука, а это значит, что иногда в противоположных основным.
И, потом... мне что то уже не интересно :). Дело в том, что такая штука нужна только для малословных предложений, ведь нет смысла выводить целые абзацы таким образом? Значит существующей техники
наложения маски вполне достаточно... Может и попробую, но уже когда совсем-совсем заняться нечем будет :).
Dukobpa3
18.07.2011, 22:50
дело в том, чтобы создать полную иллюзию "написания" этой буквы рукой
В таком случае придется озадачиться еще и изучением материалов шрифтосоздания. Элементы там всякие, засечки, кружочки. И тогда уже действительно больно уж похоже будет на распознание текста:)
Не, не. Надо будет только изучить правила правописания, да и то не слишком скурпулёзно. Засечки, наклоны, толщина никакой роли не играют. Если мы об одном и том же говорим :)
Это как игрушку, своеобразную, делать. Только применение ей... где?
Dukobpa3
18.07.2011, 23:41
Засечки, наклоны, толщина никакой роли не играют. Играют так как отрисовываться скорее всего будет не рукописный а печатный текст. Если рукописный шрифт какой-то то соглашусь. А так вообще придется под каждый вид шрифтов разные схемы делать.
- с засечками
- без засечек
- италик (рукописный, не путать с oblique, в котором обычное начертание буков, просто они наклонены)
эту задачу интересно решили коллеги (http://demiart.ru/forum/index.php?showtopic=32007&st=0&) скриптом.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.