Flash CS4/AS3 动态文本框

Posted

技术标签:

【中文标题】Flash CS4/AS3 动态文本框【英文标题】:Flash CS4/AS3 Dynamic Text Box 【发布时间】:2011-01-28 23:00:35 【问题描述】:

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

干杯

【问题讨论】:

您能否在将其设置到您的文本字段之前显示您的 XML 以及 xml 的跟踪 XML 节点是这样的: .@text = XXXXX \nXXXXXX\ 的踪迹nXXXX XXXX XXXXXX 【参考方案1】:

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

【讨论】:

如果我在 xml 中使用 它会给我 TypeError: Error #1095: XML parser failure: Unterminated attribute. 只需将您的文本放在 XML 内的 块中,因此 XML 解析器不会处理其中使用的标签。 (w3schools.com/xmL/xml_cdata.asp) 钉住它,将文本从属性中取出并将其嵌套在具有 CData 的节点中。 Tres Bon @Zed-K【参考方案2】:

编辑

你有两个选择:

-按照建议将您的 XML 中的 \n 替换为 <br/> 但编码为有效的 XML <br/>

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

-或在运行时填充文本字段时将\n 替换为&amp;lt;br/&amp;gt;

myTextField.htmlText=xml.@text.toString().split("\\n").join("<br/>");

/n /r 不正确,它是\n \r

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

【讨论】:

是的,对不起...我的意思是 /n 并且是启用了多行【参考方案3】:

\n \r 仅在运行时有效,而 无效。 例如,我使用自定义字符串来表示换行符“#BR#”。在将字符串传递到文本框之前,请使用正则表达式将“#BR#”的所有实例替换为“\n”。

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

【讨论】:

以上是关于Flash CS4/AS3 动态文本框的主要内容,如果未能解决你的问题,请参考以下文章

adobe flash cs4 as3:获取正在运行的项目的当前目录?

flash cs4 文本框

flash倒计时器制作

AS3.0中影片剪辑元件嵌套了个动态文本框,怎样才能在文本框上也能显示手型?

Flash CS4 AS3 事件不起作用

用flash CS4 as3.0编程实现元件以舞台中心为中心点缩放中遇到的问题,求指教。