Текст без TextInput-ов
Многие, наверняка, уже знают о том, как это делается, а я вот все еще в танке))
Предположим, передо мной стоит задача создать чат. Есть окно чата. Пользователи отправляют сообщения, у каждого свой цвет. По мимо этого приходят всякие служебные сообщения, типа "Пользователь покинул комнату". У этих сообщений другой размер, цвет и гарнитура. Когда приходит новое сообщение, в контейнер добавляется текст заданного цвета и шрифта. Вопрос. Как все это реализовать без кучи textInput-ов? Может быть можно выводить текст без их использования? Или с использованием одного textInput-а и отрисовкой его отпечатка в контейнере? |
Почитайте про TextFormat
|
Думается, имелся в виду TextField... читайте про TextFormat.
|
Так а чем одно текстовое поле для отображения окна чата не устраивает?
|
да с текстформатом-то я знаком.
я так понимаю, предлагается такое решение: отобразить один большой textField, и при добавлении новой строки тут же ее отформатировать. Так? Добавлено через 2 минуты > Так а чем одно текстовое поле для отображения окна чата не устраивает? устраивает, просто интересно, есть ли возможность вывода текста прям на спрайте. Например в делфях у канвы есть метод: Canvas.TextOut. И не нужно использовать вообще никаких наследников |
Можно использовать CSS, и это удобно в данном случае, просто назначить логику распределения классов стилей для сервера, клиентов
Код AS3:
|
а как в htmlText сделать переход на новую строку?
пробовал <BR> и \n - не помогло :( |
TextField#multiline true должно быть.
|
а попробуйте создать отдельный класс. Пускай это будет контейнер сообщения.
В контейнер поместите собственно текст сообщения, учетную информацию, кнопки управления и прочую лабуду. Затем создавайте экземпляр класса каждый раз, когда будет появляться новое сообщение в чате. Проще говоря: контейнер - это конструктор лего. Собрали модельку (то, что вам нравится, используя фишки белого цвета). Затем, когда поступает новое сообщение, вы собираете точно такую же (как эталонную) модель, но используете фишки нужного цвета. И ставите ее на стол. Поступило еще сообщение - собрали еще. При этом новое сообщение будет порождаться примерно так: Код AS3:
А поля опишите один раз в классе. |
Часовой пояс GMT +4, время: 15:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.