Доброго времени суток, друзья.
Пытаюсь создать программно текст во 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; //Не работает тоже