Показать сообщение отдельно
Старый 06.06.2015, 23:24
tofflife вне форума Посмотреть профиль Отправить личное сообщение для tofflife Найти все сообщения от tofflife
  № 1  
Ответить с цитированием
tofflife

Регистрация: Jul 2009
Сообщений: 95
Cool JSFL. setTextString ломает габариты текста

Доброго времени суток, друзья.

Пытаюсь создать программно текст во FLA через JSFL и после вызова textInstance.setTextString ломаются границы текста. Как ни странно, попытка вызова document.setTextRectangle ничего не исправляет. (границы текста все равно не изменяются).

Но стоит перед запуском скриптов просто открыть какую-нибудь FLA, то текста вроде как применяются.
Что за магия?
Пробовал вместо textInstance.setTextString вызывать document.setTextString. Приводит к крэшу
Может, можно как-то по другому сетать текстфилду текст, не ломая его размеры?

Вот примерный код:
Код AS3:
//document - документ Fla
//currentFrame - ссылка натекущий выделенный фрейм(только что созданный)
//elementModel - хэш из данных, на основе которого создается текст
function deserializeElementText(document, currentFrame, elementModel){
var textRectangle = {left: elementModel.left,
        top: elementModel.top,
        right: elementModel.left + elementModel.width,
        bottom: elementModel.top + elementModel.height};
    document.addNewText(textRectangle, '');
    var currentInstance = currentFrame.elements[currentFrame.elements.length - 1];
    currentInstance.setTextString(elementModel.text);
    document.setTextRectangle(textRectangle);//не помогает
    currentInstance.x = 0; //Не применяется
    currentInstance.width = 534; //Не работает тоже