Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   чат со смайлами AS 3.0 (http://www.flasher.ru/forum/showthread.php?t=88524)

terbooter 30.01.2008 12:07

С заменой на пробелы у меня тоже косяк - автоформат начинает глючить.
Я тоже меняю цвет на цвет фона

ulik 30.01.2008 16:53

RE: молодец, конечно, но
код:
Код:

var st:String = "test\n\ntest";
txt.htmlText=st;
txt.multiline=true;
txt.autoSize=TextFieldAutoSize.LEFT;
for (var i=0; i<txt.text.length; i++) {
        trace(i,txt.text.charAt(i),txt.getCharBoundaries(i));
}

Получаем трейс вида:
Код:

0 t (x=2, y=2, w=5, h=13.9)
1 e (x=7, y=2, w=7, h=13.9)
2 s (x=14, y=2, w=5, h=13.9)
3 t (x=19, y=2, w=5, h=13.9)
4
 null
5
 null
6 t null
7 e null
8 s null
9 t null

getCharBoundaries умирает при виде \n,\r,<br/>,<p></p>... вобщем, при переносе строки. Этот баг исправлен лишь в плеере 9.0.r115.

DRAGOnoid 30.01.2008 23:15

MerlinTwi - всегда рад твоим поставм =) и за этот огромное пасибо!

люди не ленитесь исходники оставлять - так возьни с копи паст кодом меньше.

_Smirnoff 31.01.2008 00:02

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

terbooter 31.01.2008 08:06

Смайлы могут быть разными, могут кататься туда сюда - точку будет видно, все равно придется закрашивать. Я сейчас код смайла меняю на один символ, но не пробел, тогда встроенный автоформат текстового поля не глючит. Если менять на пробел то смайлики выходят за край текстового поля.

MerlinTwi 31.01.2008 13:39

Цитата:

Сообщение от terbooter
С заменой на пробелы у меня тоже косяк - автоформат начинает глючить.
Я тоже меняю цвет на цвет фона

При этом будут два новых косяка:
1. Графическая картинка смайлика должна не превышать по размерам текстовое написание смайла. Если картинка смайла длинная, а написать его надо типа :beer: то смайлик будет залезать на соседние буквы
2. Текстовое написание смайлика может разбиваться при переносе на другую строчку, а пробел (или другой невидимый спецсимвол) нет. И получите текст смайлика на двух строчках, а сама картинка висит за границей текстового поля.

ALiEN_ 31.01.2008 20:13

Цитата:

Сообщение от terbooter
Смайлы могут быть разными, могут кататься туда сюда - точку будет видно, все равно придется закрашивать. Я сейчас код смайла меняю на один символ, но не пробел, тогда встроенный автоформат текстового поля не глючит. Если менять на пробел то смайлики выходят за край текстового поля.

Что мешает сделать как я описал выше? Например есть смайл "=)))))))))))" Это картинка катающегося клобка. Не меняем нашу строку "=)))))))))))" ни на какой пробел, ни на точку, а оставляем как есть, НО! подбираем размер шрифта так, что бы эта строка была по ширине картинки нашего смайла и делаем эту строку цветом фона.

Спрашивается зачем такая сложность? Отвечу, например при выделении этого текста и копировании в буфер обмена - вся фраза включая смайл, сохранит свой первоначальный вид написанный автором, а не будет иметь что-то типа: "Хороший анекдот :lol: ржу!"
Будет как писал автор: "Хороший анекдот =))))))))))) ржу!"

Если интересно выше есть даже исходник как это сделать от автора ALiEN2006. Либо пиши на почту, постараюсь найти исходник целиком.

terbooter 13.02.2008 10:51

Вложений: 2
Цитата:

Сообщение от MerlinTwi
При этом будут два новых косяка:
1. Графическая картинка смайлика должна не превышать по размерам текстовое написание смайла. Если картинка смайла длинная, а написать его надо типа :beer: то смайлик будет залезать на соседние буквы
2. Текстовое написание смайлика может разбиваться при переносе на другую строчку, а пробел (или другой невидимый спецсимвол) нет. И получите текст смайлика на двух строчках, а сама картинка висит за границей текстового поля.

Именно поэтому код смайлика я заменяю на один символ.
Я просто хотел добавить что этот символ не может быть пробелом,
а любой другой символ придется закрашивать под цвет фона.

UP вот какая проблема есть:
Кусок кода к картинке где смайл НЕ выходит за границу текстового поля
Код:

return "<span class = '"+s+"' >_</span>" ;
Кусок кода к картинке где смайл выходит за границу текстового поля
Код:

return "<span class = '"+s+"' > </span>" ;

Akhmedov 22.03.2009 21:20

Добрый вечер!
в данной теме я выложил материал по поводу использования смайликов в чате. Чтобы не дублировать кидаю ссылку http://www.flasher.ru/forum/showthre...691#post807691


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

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