AS3/空气加载/保存用户名进度



我正在创建一个使用 Flash AS3 创建的 Android 应用程序。用户将输入他/她的名字(实例名称nameField),单击上一个(btnPrev)和下一个(btnNext)按钮,然后按保存(btnPrev)。重新启动应用程序后,将加载保存的最后一帧(带有名称)。 但是,如果我想输入具有不同名称的第二个用户并将其保存在不同的帧中,是否会保留第二个用户的保存进度(而不删除第一个用户的进度?问题是,当我键入以前的用户名进度并按加载(btnLoad)时,他保存的进度无法加载。请帮忙。

我是编程新手。这是我到目前为止的代码:

*import flash.events.MouseEvent;

var savedstuff:SharedObject = SharedObject.getLocal("myStuff");
btnSave.addEventListener(MouseEvent.CLICK, SaveData);
btnLoad.addEventListener(MouseEvent.CLICK, LoadData);
btnNext.addEventListener(MouseEvent.CLICK, pageNext);
btnPrev.addEventListener(MouseEvent.CLICK, pagePrev);

function pageNext (e:MouseEvent){
    nextFrame();
}
function pagePrev (e:MouseEvent){
    prevFrame();
}
function SaveData(MouseEvent){
 savedstuff.data.username = nameField.text 
 savedstuff.flush();
 }
function LoadData(MouseEvent){
 if(savedstuff.size>0){ 
 nameField.text = savedstuff.data.username} 
 gotoAndStop(savedstuff.data.saveData);
 }

if(savedstuff.size>0){
nameField.text = savedstuff.data.username}* 
如果我

理解正确,您想为两个不同的用户保存和加载保存的内容,对吗?

由于您始终保存名称为"myStuff"的所有内容,因此每次保存时都会覆盖数据。如果您希望每个用户都这样做,您可能希望将用户名添加到共享对象名称中:

var savedstuff:SharedObject;
function SaveData(e:MouseEvent)
{
    var userName:String = nameField.text;
    savedstuff = SharedObject.getLocal(userName + "myStuff");
    savedstuff.data.username = userName;
    savedstuff.flush();
}
function LoadData(e:MouseEvent)
{
    var userName:String = nameField.text;
    savedstuff = SharedObject.getLocal(userName + "myStuff");
    if(savedstuff.size > 0)
    { 
        nameField.text = savedstuff.data.username} 
        gotoAndStop(savedstuff.data.saveData);
    }
}

最新更新