Actionscript 3将当前帧位置保存到本地硬盘?

时间:2012-11-16 08:37:34

标签: actionscript-3 actionscript local-shared-object

前一段时间我问了类似的问题,但是我正在用一些例子对我的问题进行更具体的说明!

我从谷歌上找到了这段代码片段/教程,但我似乎无法弄清楚如何根据我的需要修改它:

// open a local shared object called "myStuff", if there is no such object - create a new one
var savedstuff:SharedObject = SharedObject.getLocal("myStuff");
// manage buttons
btnSave.addEventListener(MouseEvent.CLICK, SaveData);
btnLoad.addEventListener(MouseEvent.CLICK, LoadData);

function SaveData(MouseEvent){
 savedstuff.data.username = nameField.text // changes var username in sharedobject
 savedstuff.flush(); // saves data on hard drive
 }
function LoadData(MouseEvent){
 if(savedstuff.size>0){ // checks if there is something saved
 nameField.text = savedstuff.data.username} // change field text to username variable
 }

// if something was saved before, show it on start
if(savedstuff.size>0){
nameField.text = savedstuff.data.username}

所以我想弄清楚怎么做,就是将用户当前帧保存到本地硬盘,因为我的flash进度是基于帧位置的。是的,那么如何修改它以便存储当前帧的数据?以及如果那会使事情变得不同,那么当前框架如何在movieclip中使用呢?

帮助MUUUCH赞赏!谢谢!

1 个答案:

答案 0 :(得分:2)

在您的示例中,它似乎已经将某些内容保存到共享对象:

savedstuff.data.username = nameField.text;

只需将其替换为影片剪辑帧值(并且可能使用不同于“用户名”的其他属性名称)。

然后在加载时,还有另一行加载数据:

nameField.text = savedstuff.data.username;

除非将“username”替换为您选择的任何属性名称,否则将采用相同的方式。然后你可能需要再次解析为int并使用它来恢复进度,无论你如何设置它。