如何使用 AS3 更新我的外部 XML 文件?
How can I update my external XML file using AS3?
这是我的外部 xml 文件 db.xml
<?xml version="1.0" encoding="utf-8"?>
<character>
<main hp="50" lvl="1" dmg="5" def="5" exp="100.00" gold="10"/>
</character>
在这部分中,我希望更新每个的当前值。
function clickLvl(e:MouseEvent):void
{
trace("lvl is clicked!");
//increment values - works fine
_data.main.@lvl = int(_data.main.@lvl) + 1;
_data.main.@hp = int(_data.main.@hp) + 10;
_data.main.@dmg = int(_data.main.@dmg) + 5;
_data.main.@def = int(_data.main.@def) + 5;
this.lvlDis.text = String(_data.main.@lvl);
this.hpDis.text = String(_data.main.@hp);
this.dmgDis.text = String(_data.main.@dmg);
this.defDis.text = String(_data.main.@def);
this.expDis.text = String(_data.main.@exp);
this.goldDis.text = String(_data.main.@gold);
// save/update the values in .xml
/*
CODE HERE :D
*/
}
当我 运行 SWF 文件时,值正在更新,但当我关闭并打开它时,值不会保存。我如何 update/save 我的 xml 中的值?
您可以使用 FileReference class 在本地保存。如果你想保存在服务器上,你需要一些服务器端程序来做这件事。
您可以使用 FileReference.save()
使用 Flash Player 保存本地文件。但是,这将使用户选择保存文件的位置,而不是您的代码。你也不知道用户把它保存在哪里。
另一种选择是将数据保存到本地 SharedObject
。这不会更改原始 XML 文件,但可以让您在 SWF 会话之间存储和重新加载数据。还要记住,SharedObject
数据可以很容易地被用户清除。
使用 AIR,您可以创建一个可以使用 File
和 FileStream
类 保存到本地文件系统的应用程序。
这是我的外部 xml 文件 db.xml
<?xml version="1.0" encoding="utf-8"?>
<character>
<main hp="50" lvl="1" dmg="5" def="5" exp="100.00" gold="10"/>
</character>
在这部分中,我希望更新每个的当前值。
function clickLvl(e:MouseEvent):void
{
trace("lvl is clicked!");
//increment values - works fine
_data.main.@lvl = int(_data.main.@lvl) + 1;
_data.main.@hp = int(_data.main.@hp) + 10;
_data.main.@dmg = int(_data.main.@dmg) + 5;
_data.main.@def = int(_data.main.@def) + 5;
this.lvlDis.text = String(_data.main.@lvl);
this.hpDis.text = String(_data.main.@hp);
this.dmgDis.text = String(_data.main.@dmg);
this.defDis.text = String(_data.main.@def);
this.expDis.text = String(_data.main.@exp);
this.goldDis.text = String(_data.main.@gold);
// save/update the values in .xml
/*
CODE HERE :D
*/
}
当我 运行 SWF 文件时,值正在更新,但当我关闭并打开它时,值不会保存。我如何 update/save 我的 xml 中的值?
您可以使用 FileReference class 在本地保存。如果你想保存在服务器上,你需要一些服务器端程序来做这件事。
您可以使用 FileReference.save()
使用 Flash Player 保存本地文件。但是,这将使用户选择保存文件的位置,而不是您的代码。你也不知道用户把它保存在哪里。
另一种选择是将数据保存到本地 SharedObject
。这不会更改原始 XML 文件,但可以让您在 SWF 会话之间存储和重新加载数据。还要记住,SharedObject
数据可以很容易地被用户清除。
使用 AIR,您可以创建一个可以使用 File
和 FileStream
类 保存到本地文件系统的应用程序。