Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 24.10.2010, 23:43
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 1  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
По умолчанию Какой-то странный TextFeld.

Здравствуйте коллеги.
Первый раз сталкиваюсь с таким глюком. У меня есть два текстовых поля, одно для ввода, второе для вывода сообщений. Я делаю следующее. Ввожу текст в инпут, далее по кнопке передаю его для вставки в новое поле. Перед этим обрезаю все не значащие символы в начале и конце сообщения. Далее полученный текст вставляется с последующей установкой TextFormat. При этом если в строке которую я передаю присутствуют символы переноса строки, у меня наблюдается смещение добавляемого текста, а старый текст затирается почему то. При этом формат текста тоже начинает плыть. Вот код при вставке который обрабатывает строку:
Код AS3:
			var pattern:RegExp = /^\s*|\s*$/g;
			msgTxt = msgTxt.replace(pattern, '');
Вот так я этот текст вывожу в TextField с именем tf
Код AS3:
				var msg:Message = RStore.read(ChatConst.MSG_RECEIVE);
				var textFormat:TextFormat = new TextFormat();
				var idx:int = tf.length - 1 ;
				var s:String;
				if (msg.type == MessageType.SIMPLE) {
					textFormat.underline = false;
					textFormat.color = 0x004000;
					textFormat.bold = true;
					s = msg.nickName + ': ';
					tf.appendText(s);
					tf.setTextFormat(textFormat, idx, tf.length - 1);
					idx = tf.length - 1;
					textFormat.color = 0x000040;
					s = msg.text + "\n";
					tf.appendText(s);
					tf.setTextFormat(textFormat, idx, tf.length - 1);
				}
				if (msg.type == MessageType.SYSTEM) {
					s = msg.nickName + ': ' + msg.text + "\n";
					textFormat.color = 0xFF0000;
					textFormat.underline = true;
					tf.appendText(s);
					tf.setTextFormat(textFormat, idx, tf.length - 1);
				}
			}
Кто знает подскажите в чем может быть причина и как с этим бороться. Оба текстовых поля одинаковые, разница только в том что одно динамическое, а второе для ввода. Шрифты используются встроенные.
Забыл уточнить, fla в CS5, тип поля классический, а для компиляции использую проект FlashDevelop с подключением swc с данным текстовым полем
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ


Последний раз редактировалось SunShadow; 24.10.2010 в 23:48.
Создать новую тему   Часовой пояс GMT +4, время: 03:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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