在项目上工作,这就是我现在所拥有的。我有一个包含项目的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
答案 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>
使用这些示例来了解一些方法并定义哪种方法最适合您的情况,它们未经过优化,没有经过精心设计或计划,因此,我建议您使用该概念并进行改进。
祝你好运。