我正在尝试创建一个使用Adobe Flash Actionscript 3创建的Android应用程序。我希望应用程序的每个用户在应用程序的开头输入他们的名字,然后他们就可以将他们的进度保存在当前帧中(它将被保存到保存槽或类似帧中)。但是,当另一个用户要使用该应用程序时,就会出现问题,他/她必须输入不同的用户名,并且他/她可以随时保存(并加载他/她独特的加载进度,与以前的用户不同)。它继续下去。
我是编程新手,希望你能帮助我。任何建议将不胜感激。谢谢!
这是我用于创建用户名并保存的代码:
function handleClick(Event:MouseEvent):void
{
var myFirstVariable = boxOne.text;
boxTwo.text = myFirstVariable;
gotoAndStop("opening_scene")
}
myButton2.addEventListener(MouseEvent.MOUSE_UP, handleClick);
更新的编辑2:这是我用于保存和加载的代码。仍然不工作:
var so:SharedObject = SharedObject.getLocal("Test");
var userName:String = nameField.text;
if (so.data.users == null)
so.data.users = new Object();
btnSave.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
if (so.data.users[userName] == null)
so.data.users[userName] = new Object();
so.data.users[userName].lastframe = currentFrame;
so.flush();
trace(userName);
}
btnLoad.addEventListener(MouseEvent.CLICK, reloadBtnClick);
function reloadBtnClick(e:MouseEvent):void
{
if (so.data.users[userName] == null)return;
if (so.data.users[userName].lastFrame == null) return;
gotoAndStop(so.data.users[userName].lastFrame);
trace(userName);
}
我建议您使用SQLite数据库来保存数据 可以在这里找到所有文档 操作 SQL 数据库数据 好吧有点复杂,但就像在Excel中拥有表格一样。
正如Vesper所建议的那样,您需要存储所有存储的用户。例如:
// Put user name here.
var userName:String;
var SO:SharedObject = SharedObject.getLocal("save");
// Create storage for users.
if (SO.data.users == null) SO.data.users = new Object();
// ...
function saveCurrentFrame(event:MouseEvent):void
{
// Create storage for current user by their name.
if (SO.data.users[userName] == null) SO.data.users[userName] = new Object();
SO.data.users[userName].lastframe = currentFrame;
SO.flush();
}
function getLastFrame(event:MouseEvent):void
{
trace(1);
// Skip this if there's no record for
if (SO.data.users[userName] == null) return;
trace(2);
if (SO.data.users[userName].lastFrame == null) return;
trace(3);
gotoAndStop(SO.data.users[userName].lastFrame);
trace(4);
}