Форум 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=133954)

Peregrin 17.12.2009 14:06

смайлы в тексте
 
как сделать смайлы в тексте?
Есть большое текстовое поле с поддержкой мултилайна, в который динамически передается текст. Нужно, чтобы определенные последовательности символов отображались, как иконки, т.е. смайлы. Например, вот такая последовательность "*SMILE*" должна заменяться на символ из библиотеки "SmileIcon".
С htmlText'ом беда какая-то, картинка наплывает на текст.
Кто-нибудь пожет подсказать как это реализовать?

CrazyFlasher 17.12.2009 14:09

в гугл и в поиске по форуму полно примеров разной реализации

Peregrin 17.12.2009 14:10

да искал я по форуму, тут все не подходит для моего случая

Jewelz 17.12.2009 14:51

думаю надо сделать так:

находим индекс подстроки (*SMILE*), в строке заменяем его 3-4 пробелами, находим координаты этой подстроки .. видимо через getCharBoundaries, и поверх текста добавляем смайл

только тут вопрос если смайл больше по высоте чем высота строки...

может можно по-другому :)

garkin 17.12.2009 15:18

delete

dimarik 18.12.2009 17:03

Text Layout Framework

Peregrin 13.01.2010 11:42

а можно как-нибудь без Text Layout Framework?
Катринки у меня маленькие, примерно такого же размера как и буква. Я делаю онлайн игру, в ней уже достаточно много обычных текстовых полей и менять все это на новый фреймворк займет очень много времени. Должен же быть более или менее не "топорный" вариан замены таких строк как *GOLD* и *SAPPHIRE* на соответствующие иконки

dimarik 13.01.2010 11:56

http://www.bytearray.org/?p=521

Peregrin 13.01.2010 12:55

Спасибо за хороший пример, но мне желательно оперировать с уже имеющимися текстовыми полями, а в этом примере нужно создавать новый класс SmileRenderer

dimarik 14.01.2010 00:00

Добавлять картинки-смайлы поверх текстового поля в промежутки, оставленные после замены таких строк как "*GOLD* и *SAPPHIRE*" на пробельные символы.


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

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