![]() |
Смайлики с помощью тега <img> в одной строке типа "Текст смайл текст"
Пишу чат. Точнее уже написал :) На сокетах. Сервер на C++ и клиент на flash AS3. С текстом всё нормально! Решил добавить смайлики! Ну и решил протестировать. Для тестирования просто написал строку, чтоб убедиться, всё-ли правильно!
Добавил в библиотеку смайлик, указал в свойства "Экспорт для ActionScript" и дал имя smile1. И написал так: Код AS3:
Сначала появился весь текст, а потом под ним смайлик! Как решить проблему "Текст смайл текст"? Помогите! |
getCharBoundaries и по эти координатам позиционировать спрайт со смайликом.
|
Тоесть:
Код AS3:
Добавлено через 32 секунды Не помогло! Покажи, как его применять. |
|
Так там всё по английский :)
|
Цитата:
Но вот на русском есть :) http://help.adobe.com/ru_RU/FlashPla...arBoundaries() |
английский будет полегче программирования ;) Может стоит с него начать? Смотри тип, который возвращает функция (Rectangle) и параметр, который в неё передаётся (индекс символа, который например можно получить так: var anIndex:int = tf.text.indexOf("*facepalm*"); )
|
Добавлено через 1 минуту
Вроде понял! Но ведь координаты x и y, и нужны две переменные для координат! Разве не так? :) Добавлено через 2 минуты Я имею ввиду, что getCharBoundaries будет возвращать координаты x и y Добавлено через 6 минут И изначально, я ведь не знаю, сколько будет смайликов в тексте! А если их вообще не будет? То тогда Код AS3:
Добавлено через 9 минут Ау! Ты тут? |
Так пройдись по всему тексту и найди все "*facepalm*".
Цитата:
Цитата:
|
Извеняюсь, но
Код AS3:
Цитата:
Добавлено через 20 минут Ау! Вы тут? |
Цитата:
|
getCharBoundaries работает хорошо если TextField.text, а если TextField.htmlText???
у меня вот такой код отказывается работать Код AS3:
верней он не отказываеться, но значение fy null |
Зачем Вам html то? Он же не отображается. То, что отображается, это text.
Добавлено через 6 минут С большой буквы пишутся имена классов и интерфейсов. |
как мне без html ссылки выводить, картинки?
конечно можно выделить отдельно отображаемый текст и обработать, но как узнать тогда координату y? |
Вы спрашиваете индекс символа "*" в строке "<FONT SIZE="14" >*101</FONT>"
Какой индекс? 17? Затем Вы спрашиваете у текстфилда координаты семнадцатого символа. У текстфилда, в котором написано "*101". Какого ректангла Вы ждете, кроме как null? |
А сам чат хоть как-то уже работает?
Уже несколько тем от автора и все с одними и теми же вопросами. Как видео вставить, как смайл вставить. Может таки как-то по нарастающей двигаться? Сразу запустить просто текст, потом что-то следующее потом еще. Я это к тому что если бы предыдущие темы были уже обработаны автором, то часть вопросов отпала бы сама собой. А так складывается впечатление что просто поговорить. Добавлено через 6 минут Цитата:
Для начала справку почитать. Зачем вам координаты неотображаемых символов? Они же не отображаются, их не видно. |
Wolsh ага т.е. getCharBoundaries работает только с видимым, ясно, а как же быть если текст многострочный?
Dukobpa3 вообще-то я и двигаюсь по нарастающей, то о чём я до этого спрашивал работает, нууу кроме видео, это я решил пока на потом отложить, чат в принцепи готов, остались доработки |
Какая разница сколько строк, эта функция работает просто с картинкой текстфилда.
|
я понял про функцию, у меня в другом вопрос у меня же получиться html текст с кучей тегов и некоторые пробулы и переносы коретки, как с ними быть?
|
фейспалм.жпг
Это всё учтется функцией которая выдает ректангл области. Отдельно уделять этому внимание не нужно. |
фейспалм.жпг - это что?
|
Цитата:
|
Dukobpa3 дело то в том что в getCharBoundaries передаётся не символ а его индекс, если бы символ то и проблем не было
|
Код AS3:
Добавлено через 1 минуту Wolsh сразу же об этом и сказал, а дальше пошло разжевывание. |
Я на самом деле извиняюсь, что не смог адекватно оценить, насколько Вам это все может быть непонятно.
У ТекстФилда есть два свойства - htmlText и просто text. Первое включает всю разметку для текста, или "теги". Второе содержит только отображаемый текст. Все символы, отображаемые в текстфилде, для текстфилда отдельные визуальные элементы, как картинки в галерее. составленные по-порядку в строки. У визуальных элементов естественно есть ширина, высота и координаты в поле текстфилда. То есть ректангл. У тегов разметки естественно нет никаких координат и размеров, потому что они не отображаются в текстфилде. Таким образом, Вы отдаете текст для отображения вместе с разметкой как htmlText, но при поиске координат Вам надо указать индекс символа без учета тегов разметки, индекс символа как он отображается в поле. То есть его индекс в строке свойства text. Код AS3:
|
Dukobpa3 после этого получаем индекс с учётом тегов, т.е. дальше чем есть текст, вы что думаете я совсем тупой?? я многого не знаю, это правда, я ленивый, но не тупой
вот есть две строки txtS.htmlText = '<FONT FACE="Times New Roman" SIZE="14" >*101</FONT>'; и txtS1.htmlText = '*101'; var i:int = txtS.htmlText.indexOf('*'); это вернёт 17 var i1:int = txtS1.htmlText.indexOf('*'); это вернёт 0 и как мне рисовать прямоугольник если результат 17 а должен быть ноль???? |
если хтмл тексту присвоить вот эту строку:
Код AS3:
Код AS3:
Код AS3:
Теперь понятно? |
спасибо таперь понятно)
|
| Часовой пояс GMT +4, время: 20:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.