2010-03-18 68 views
0

我创建了一个XML图片库,它在每张幻灯片之间显示文本。现在我创建了一个带有动态文本字段的影片剪辑(使用Render HTML选择)来显示推送到数组中的XML文本。现在,这一切都很好,但是.../n或/ r没有创建新的换行符(因为它们需要自定义)。然而,如果我创建一个数组并手动推送字符串“Bla bla bla/n bla bla bla”,我会得到一个换行符。我已经尝试将数组项转换为字符串(即使它已经是),我也会避免创建textField = new textField()任何想法将受到欢迎。Flash CS4/AS3动态文本框

干杯

+0

你能告诉你的XML,以及XML的跟踪将其设置为你的文本框 – Patrick 2010-03-18 10:35:15

+0

XML节点之前是这样的: <图像镜像文件=“GrandOpening1.jpg”文本=“XXXXX \ nXXXXXX \ NXXXX XXXX XXXXXX”> 。 一丝@文= XXXXX \ nXXXXXX \ NXXXX XXXX XXXXXX – Jono 2010-03-18 10:38:44

回答

1

由于您的TextField已启用HTML,因此使用<br>标记创建新换行符会更好。

+0

如果我在XML中使用
它给了我 类型错误:错误#1095: XML解析器失败:未终止的属性。 – Jono 2010-03-18 10:29:10

+1

只需将您的文本放入XML中的<![CDATA []]>块中,以便内部使用的标记不会被XML解析器处理。 (http://www.w3schools.com/xmL/xml_cdata.asp) – 2010-03-18 10:41:18

+0

钉住它,将文本从属性中取出,并用CData将其嵌套到节点中。 Tres Bon @ Zed-K – Jono 2010-03-18 10:56:07

1

编辑

你有两个选择:

-as提示把由<br/>在XML更换\n但所编码是一个有效的XML &lt;br/&gt;

<image imageFile="GrandOpening1.jpg" 
     text="XXXXX&lt;br/&lt;XXXXXX&lt;br/&lt;XXXX XXXX XXXXXX"> 
</image> 

- 或在运行时填写您的te xtfield由<br/>

[email protected]().split("\\n").join("<br/>"); 

/n /r更换\n不改正的\n \r

您是否为TextField启用了多行选项?

+0

呀,对不起...我的意思/ n和是多行启用 – Jono 2010-03-18 10:25:02

0

\ n \ r只适用于运行时,
不起作用。 例如,我使用自定义字符串来表示换行符“#BR#”。在将字符串传递给文本框之前,使用正则表达式将“#BR#”的所有实例替换为“\ n”。

var str:String = xmlString; var pattern:RegExp = /#BR#/ ig; //定位#BR#的所有实例(不区分大小写) txt_textbox.text = str.replace(pattern,“\ n”);