2010-03-18 101 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」);