【问题标题】:Flash/Actionscript 3 - import/embed XML file for export?Flash/Actionscript 3 - 导入/嵌入 XML 文件以进行导出?
【发布时间】:2013-05-07 01:30:14
【问题描述】:

如何导入或嵌入 XML 文件,以便导出 100% 独立的 SWF?我的项目读取文本字段和图像的外部 XML 文件。当我导出 SWF 时,除非我在同一目录中有 XML 文件,否则不会显示任何图像/文本。我想要一个 100% 独立的 SWF,而不需要 XML。

这是我目前所拥有的,这段代码来自一个教程:

var imageArray:Array = new Array();
var painterArray:Array = new Array();
var titleArray:Array = new Array();
var dateArray:Array = new Array();

//Loader event for the XML
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);

var xml:XML;

loader.load(new URLRequest("mday.xml"));

function onLoaded(e:Event):void {
    //load XML
    xml=new XML(e.target.data);
    var il:XMLList=xml.images;
    listLength=il.length();
    //fill up the array from XML
    populateArray();
}

function populateArray():void {
    //takes the properties defined in the XML and stores them into arrays
    var i:Number;
    for (i = 0; i < listLength; i++) {
        imageArray[i]=xml.images[i].pic;
        titleArray[i]=xml.images[i].title;
        painterArray[i]=xml.images[i].painter;
        dateArray[i]=xml.images[i].date;
    }
}

AS 附加到关键帧,而不是在其单独的类中。

谢谢。

【问题讨论】:

    标签: xml flash import export


    【解决方案1】:

    因此,您将拥有一个包含所有 xml 数据的变量,而不是加载外部 xml 文件:

    var imageArray:Array = new Array();
    var painterArray:Array = new Array();
    var titleArray:Array = new Array();
    var dateArray:Array = new Array();
    
    //assign all your xml to your xml variable. Here is some example xml data
    var xml:XML = <gallery>
    <image name="school">image1.jpg</image>
    <image name="garden">image2.jpg</image>
    <image name="shop">image3.jpg</image>
    </gallery>;
    
    load();//call your load function
    
    function load():void {
    
        var il:XMLList=xml.images;
        listLength=il.length();
        //fill up the array from XML
        populateArray();
    }
    
    function populateArray():void {
        //takes the properties defined in the XML and stores them into arrays
        var i:Number;
        for (i = 0; i < listLength; i++) {
            imageArray[i]=xml.images[i].pic;
            titleArray[i]=xml.images[i].title;
            painterArray[i]=xml.images[i].painter;
            dateArray[i]=xml.images[i].date;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-31
      • 1970-01-01
      • 2012-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-10
      • 2011-02-19
      相关资源
      最近更新 更多