1

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

目前我被引导相信共享对象只能存储多个变量,所以我不确定如何将一个数组添加到一个变量中。

数组本身的声明如下所示:

var lvl1highScores:Array = new Array();

用户每次在每个级别达到高分时都可以添加它,如下所示:

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

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

干杯

4

2 回答 2

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;
于 2012-12-23T16:32:28.060 回答
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 参数。- 哪一个是 ”/”

于 2014-03-14T14:15:02.300 回答