在闪存中存储大字符串

时间:2011-11-22 06:19:24

标签: flash actionscript-3

我的游戏以大字符串存储关卡。不是很长,在1080p屏幕上,长度大约是我桌面的一半。 Flash可以很好地处理它,但是当我执行类似

的操作时
var levels:Array = ["Large String
gets broken up because of the len
gth"];

Flash IDE告诉我,我需要在新行之前结束字符串文字。我不能,因为它太长了。 (对于IDE,不是flash环境)

我该如何存储字符串?

4 个答案:

答案 0 :(得分:5)

这样的事情:

private var myString:String = ( <![CDATA[

Large String
gets broken up because of the len
gth

]]> ).toString();

答案 1 :(得分:5)

您也可以在应用中嵌入文本文件,就像嵌入位图一样。

[Embed(source='test.txt', mimeType='application/octet-stream')]
private var TextData:Class;

...

var thing:String = new TextData();
trace(thing);

注意:mimeType的'text / plain'与编译器的编码不一致,因此是八位字节流。

答案 2 :(得分:2)

或者像AutoCoder在他的评论中所说的那样做。

  

您可以在项目中包含任何txt文件并阅读它 - Reading the text file line by line and push to an array in AS3

或者,

var levels:Array = ["Large String" + 
    "gets broken up because of the len" +
    "gth", 

    "Another Large String" + 
    "gets broken up because of the len" +
    "gth"
];

这将为您提供如下数组:

["Large String gets broken up because of the length", "Another Large String gets broken up because of the length"]

或者,将整个字符串放在一行(没有任何换行符)。现在看起来好像是在放置换行符以使字符串更具可读性。

答案 3 :(得分:1)

也许您应该使用外部“.text”文件并通过URL Loader加载它?

它总能让游戏更具活力。