【问题标题】:Edit XML file in as3在 as3 中编辑 XML 文件
【发布时间】:2014-04-22 15:55:01
【问题描述】:

我对 actionscript3 很陌生,所以如果这是一个愚蠢/措辞不当的问题,我深表歉意。

我见过其他题目与这个题目相似的题目,但大多数人都想在 flash 中创建一个 XML,然后自定义它,这并不是我想要的。

基本上,我创建了一个安卓游戏,当用户输掉游戏时,我希望他们能够在 Facebook 上分享他们的分数。我正在使用一个预构建的系统,由于一些复杂的原因,我无法正确自定义它。

一个 .swf 文件加载到游戏中并显示来自 XML 文件的消息。

当游戏结束屏幕加载时,我的最终分数以字符串的形式保存到变量中。

XML文件如下:

<?xml version="1.0" encoding="UTF-8"?>

<details>
<appID>#########</appID>
<message>I just scored 'X' in 'Game'! Download the Android app here 'Y'</message>
</details>

我可以自定义 XML 以简单地将“X”替换为以下变量的最简单方法是什么:

finalScore = addZero(minuteTimer) + ":" + addZero(secondTimer);

并使其以游戏中显示的形式显示,例如01:29?

提前致谢。

【问题讨论】:

    标签: android xml actionscript-3 flash


    【解决方案1】:

    以下代码假定 XML 存储在名为 shareXML 的变量中:

    shareXML.message[0] = shareXML.message[0].split("'X'").join(finalScore);

    编辑以演示加载 XML 文件:

    var xmlLoader:URLLoader = new URLLoader(new URLRequest("yourxmlfile.xml"));
    xmlLoader.addEventListener(Event.COMPLETE, onXMLLoaded);
    xmlLoader.addEventListener(IOErrorEvent.IO_ERROR, onXMLError);
    function onXMLLoaded(event:Event):void
    {
        var loader:URLLoader = event.target as URLLoader;
    
        // store the contents of the loaded XML file into your variable
        shareXML = new XML(loader.data);
    }
    function onXMLError(event:IOErrorEvent):void
    {
        trace("there was an error loading the xml file");
    }
    

    【讨论】:

    • 感谢您的回答。 XML 位于游戏的 swf 旁边(在同一文件夹中)。要将其存储在变量中,我应该使用“URLLoader”和/或“URLRequest”吗?然后可能在加载后将 XML 放入另一个变量中?为我的无知道歉,总的来说,我确实是编码的新手。再次感谢您回答我的问题。
    • @jamesmitchell2312 当你在 android 上时,在WRITE 模式下使用FileStream: help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/… - 它可以让你在不打开对话框的情况下保存文件。请注意安全权限 - 您可能无法写入应用程序目录本身。在这种情况下,您将文件保存到用户目录并从那里加载它,如果它不存在,则回退到您的 swf 旁边的 xml
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多