我正在努力学习JSFL文本字段。我想在舞台上放置一个文本字段,静态宽度为220px。因此,如果放入文本的字符串长于自动换行到下一行的字符串。
有什么建议吗?
doc = fl.getDocumentDom();
doc.addNewText({left:0, top:0, right:220, bottom:200});
doc.setElementProperty("textType", "static");
doc.setElementProperty("width", 220); // fails miserably -- text field is huge
doc.setTextString(value);
// Setting the width after the text is entered scrunches the text -- doesn't wrap
// doc.selection[0].width = 220;
答案 0 :(得分:0)
所以我看了一下你的JSFL问题,通过这个我发现我再也不想在JSFL中使用Flash文本框......哈哈。我能够在舞台上创建一个宽度为220像素的文本框,并使用下面的代码填充文本。我遇到的一个主要问题是静态文本框不允许您调整线型属性,因此您首先将其创建为动态并将其设置为多线,然后将其设置为静态文本框,并且由于某种原因那很有用。
// Add Text To Stage - Andrew Doll
// 09-13-13
var dom = fl.getDocumentDOM();
if (dom == null)
{
alert('Please open a file.');
}
else
{
// String of text to test with.
var value = 'This is a test string to make sure what I am doing is working correctly.';
// I have no idea why but for some reason Flash will add 2px to the width of the box created so I just used 218 instead of 220.
// Add a text box to the stage.
dom.addNewText({left:0, top:0, right:218, bottom:200});
// Set the size of the text bounding box.
dom.setTextRectangle({left:0, top:0, right:218, bottom:200});
// Static text boxes don't allow you to use lineType so use dynamic then set to static afterwards.
dom.setElementProperty('textType', 'dynamic');
// Allows multiline text.
dom.setElementProperty('lineType ', 'multiline');
// Limits the text box from expanding in size.
dom.setElementProperty('autoExpand ', false);
// Set the text box to static.
dom.setElementProperty('textType', 'static');
// Set the string of text into the text box.
dom.setTextString(value);
}
我希望这会帮助你。让我知道它是如何为你工作的。