1

我正在使用 LoadVars() 将文本文件加载到字符串变量中。对于代码的最终版本,我希望能够将该文本作为操作脚本代码的一部分并将其分配给字符串,而不是从外部文件加载它。

类似于 PHP 中的 HEREDOC 语法或 AS3 中的 CDATA ( http://dougmccune.com/blog/2007/05/15/multi-line-strings-in-actionscript-3/ )

我发现的快速而肮脏的解决方案是将文本放入影片剪辑中的文本对象中,然后获取值,但我不喜欢它

顺便说一句:文本是多行的,可以包括单引号和双引号。

谢谢!

4

3 回答 3

2

我认为在 AS2 中,唯一的方法似乎是把它弄脏。在 AS3 中,您可以使用 Embed 标签嵌入资源,但据我所知,在 AS2 中没有。

如果它是最终版本并且这意味着您不想再编辑文本,您可以转义字符并使用 \n 作为换行符。

var str = "\'one\' \"two\"\nthree";
trace(str);

输出:

'one' "two"
three

现在只需将文本复制到您最喜欢的文本编辑器中,并将每个 ' 和 " 更改为 \' 和 \",并将换行符更改为 \n。

于 2011-04-21T23:56:25.060 回答
0

Cristian, anemgyenge 的解决方案在您意识到它是单行时起作用。可以通过简单的操作进行选择和更换。

不要在代码编辑器中编辑文档。在文档编辑器中编辑文档并创建一个将其转换为长字符串的进程(例如通过快速 PHP 脚本运行它)。获取转换后的字符串并将其粘贴到旧字符串上。根据需要重复。

从长期管理的角度来看,这并不理想,特别是如果代码维护在没有你交出解析器的情况下交出,但它解决了你的一些维护问题。

于 2011-06-13T19:44:30.900 回答
0

在每一行上使用一对新引号并添加一个空格作为单词分隔符:

var foo = "Example of string " +
"spanning multiple lines " +
"using heredoc syntax."

有一个项目可能有助于为 ActionScript 2 添加部分 E4X 支持:

以及一个为 Haxe 添加 E4X 支持的项目,它可以编译为 JavaScript 目标:

于 2013-01-19T02:59:30.920 回答