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 节点是这样的:由于您的 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
替换为 &lt;br/&gt;
但编码为有效的 XML &lt;br/&gt;
<image imageFile="GrandOpening1.jpg"
text="XXXXX<br/<XXXXXX<br/<XXXX XXXX XXXXXX">
</image>
-或在运行时填充文本字段时将\n
替换为&lt;br/&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:获取正在运行的项目的当前目录?