PDA

Просмотр полной версии : "вырезание" новых символов при изменении динамического текста


progopis
24.01.2012, 19:11
Итак, суть вопроса в следующем, по причине неумения нормально работать со слоями, создаю TextField на нужном слое в редакторе, а не в ActionScript. В ActionScript пытаюсь изменить этот текст. Либо он пропадает вовсе, либо, если я использую текст указанный в свойствах в самом редакторе, но изменяю в нем некоторые символы, то ЭТИ символы как будто удаляются из начального текста.

Пример:
Создал текстовое поле с текстом "Я БЕГУЩАЯ СТРОКА". Делаю такой код:

running_line.htmlText='<P ALIGN="CENTER"><FONT FACE="Myriad pro" SIZE="29" COLOR="#FFFFFF" KERNING="1"><B>я БЕгуЩАЯ СТРОКА</B></FONT></P>';
trace(running_line.htmlText);
trace(running_line.text);


По событию таймера строка движется. Вывод такой:
<P ALIGN="CENTER"><FONT FACE="Myriad pro" SIZE="29" COLOR="#FFFFFF" KERNING="1"><B>я БЕгуЩАЯ СТРОКА</B></FONT></P>
я БЕгуЩАЯ СТРОКА

При этом движется строка "БЕЩАЯ СТРОКА". Что это значит? Игрался с параметром AutoKern, пробовал менять стили, изменять не через htmlText, а через text. Все тщетно. Вопрос косвенно уже много раз обсуждался, но везде где я видел эту же проблему (правда про пропадание я не понял - почему такой эффект?) предлагают делать через "new TextField();". Есть ли способ заставить текст изменяться адекватно во время работы ActionScript?

Добавлено через 20 часов 43 минуты
До меня начало доходить в чем дело. Он может отобразить только те символы, которые изначально были в наборе. Если написать "Я БЕГУЩАЯ СТРОКАягу" и запустить показ (Ctrl+Enter в смысле), то будет отображаться нормальная строка "я БЕгуЩАЯ СТРОКА".

Как это лечить? Только не предлагайте весь алфавит туда пихать...