繁体   English   中英

如何使用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文件时,这些值正在更新,但是当我关闭并打开它时,这些值不会保存。 如何在xml中更新/保存值?

您可以使用FileReference类在本地保存。 如果要保存在服务器上,则需要一些服务器端程序来执行此操作。

您可以使用FileReference.save()使用Flash Player保存本地文件。 但是,这将使用户选择保存文件的位置,而不是您的代码。 您也不会知道用户将其保存在哪里。

另一个选择是将数据保存到本地SharedObject 这不会更改原始XML文件,但是它将允许您在SWF会话之间存储和重新加载数据。 还请记住,用户可以轻松清除SharedObject数据。

使用AIR,您可以创建一个可以使用FileFileStream类保存到本地文件系统的应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM