AS3:将数组存储在共享对象中

时间:2012-12-23 11:48:12

标签: arrays actionscript-3 shared-objects

我已经搜索了这个问题的答案很长一段时间但似乎找不到明确的答案。基本上我要做的是获取一个数组并将其存储在一个共享对象中,然后读取存储在该对象中的内容,并在脚本启动时将其放回到数组列表中(希望这是有意义的)。

目前我被认为共享对象只能存储多个变量,因此我不确定如何将数组添加到一个变量中。

数组本身声明如下:

var lvl1highScores:Array = new Array();

用户每次达到每个级别的高分时都可以添加:

    lvl1highScores.push({score:int(vinylCollected) , player:String(highScoreInput.text)});
lvl1highScores.sortOn("score", Array.DESCENDING | Array.NUMERIC);

我希望有足够的信息可以帮助别人。如果我无法将整个数组存储在共享对象中,还有其他方法可以存储此信息吗?

干杯

2 个答案:

答案 0 :(得分:2)

你应该能够做到这一点,

写入共享对象

//returns the mySharedObject if it exists, if not creates a new one
var so:SharedObject = SharedObject.getLocal("mySharedObject");
//take your array and put it on the so
so.data.storedArray = myArray;
//save the data
so.flush();

将其读回别处

//get the mySharedObject back
var so:SharedObject = SharedObject.getLocal("mySharedObject");
//get your array back
myArray = so.data.storedArray;

答案 1 :(得分:2)

我发现了一些有用的内容,我将在上面的代码中添加:

To read it back elsewhere

//get the mySharedObject back
var so:SharedObject = SharedObject.getLocal("mySharedObject","/");
//get your array back
myArray = so.data.storedArray;

要避免无意中限制对共享对象的访问,请使用localpath参数。 - 这是“/”