在AS3中加载图像和外部文本

时间:2014-09-23 02:54:20

标签: actionscript-3 list text actionscript external

在项目上工作,这就是我现在所拥有的。我有一个包含项目的List组件,当前点击它时,它会在UIloader上加载图像。我还需要的是能够在其下的文本框中加载有关该图像的信息。下面是我当前的动作脚本,但无法加载外部文本文件。

import flash.events.Event;
import flash.net.URLRequest;

loadlist.addEventListener(Event.CHANGE, loadFile);
function loadFile(e:Event):void {
    loadWindow.source = e.target.selectedItem.data;
}


loadlist.addEventListener(Event.CHANGE, showText);

function showText(event:Event):void{
    info.load(new URLRequest("text\picture1.txt"));
}

编辑:这是我拍摄的屏幕截图! http://i59.tinypic.com/23u8ljt.png

1 个答案:

答案 0 :(得分:0)

如果您知道如何加载图片(如果没有,请告诉我,我也会创建一个示例)并且只想加载文本文件,您可以使用以下内容:

var loader:URLLoader = new URLLoader();
// remember to have a text file with the same name (or rename as you prefer)
loader.load(new URLRequest('myText.txt'));
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);

function loaderCompleteHandler(event:Event):void
{
    trace(loader.data);
}

但是分析一下你的问题,如果你想加载关于那个图像的图像和信息(猜测你不只是在谈论Metadata),我建议你使用XML或JSON,这样,你就可以组织所有图像和它的信息,也很容易维护。

var myXML:XML;

var myLoader:URLLoader = new URLLoader();
myLoader.addEventListener(Event.COMPLETE, loadCompleteHandler);
myLoader.load(new URLRequest('myXMLFile.xml'));

function loadCompleteHandler(event:Event):void 
{
    myXML = new XML(event.target.data);
    for (var i:int = 0, numXMLChildren:uint = myXML.children().length(); i < numXMLChildren; i++)
    {
        // using myXML.image[i] to get the URL and load the image
        trace("My image number is " + (i+1) + ", it's title is " + myXML.image[i].@title + " and it's URL is " + myXML.image[i]);
    };
}

我创造了一个虚拟的&#39; XML只是为了说明并为您提供一些想法,但是,您可以根据自己的需要自由添加更多详细信息。

//myXMLFile.xml
<?xml version="1.0" encoding="utf-8"?>
<imageGallery>
    <image title="image 1...">image1.jpg</image>
    <image title="image 2...">image2.jpg</image>
    <image title="image 3...">image3.jpg</image>
</imageGallery>

使用这些示例来了解一些方法并定义哪种方法最适合您的情况,它们未经过优化,没有经过精心设计或计划,因此,我建议您使用该概念并进行改进。

祝你好运。