我正在尝试通过使用 XML 作为我的“数据库”来改进我的代码,从而可以轻松添加删除图像。
在我这样做之前是导入图像,然后将其添加到为动作脚本导出的影片剪辑中,然后当单击按钮时找到该影片剪辑并将其添加到要使用的舞台。
对于新的 XML 方式,我试图尽可能地保持这种相似性。
我可以导入我的 XML,然后找到图像并使用它准备好:
function importXML(){
var loadXML:URLLoader = new URLLoader();
loadXML.load(new URLRequest("../xml/images.xml"));
loadXML.addEventListener(Event.COMPLETE, processXML);
}
function processXML(e:Event):void{
imageXML = new XML(e.target.data);
var image = imageXML.image.(@name=="image1").image;
trace(image);
importImage(image);
}
function importImage(imageName:String) {
var loadIMG = new Loader();
var url = "../images/last_steps/"+imageName;
var url_req:URLRequest = new URLRequest(url);
loadIMG.load(url_req);
loadIMG.name = "image1";
}
现在我尝试给它一个名字,以便在点击时运行的功能可以工作:
function myButtonClick(ev:MouseEvent):void
{
addImage("image1");
}
function addImage(image:String)
{
var imageName = image;
var imageClass:Class = getDefinitionByName(imageName) as Class;
addChild(imageClass);
}
最后一个函数在我手动将它添加到movieClip时会起作用,但现在它不起作用我也试过了:
function addImage(image:String)
{
var imageName = image;
// var imageClass:Class = getDefinitionByName(imageName) as Class;
addChild(imageName);
}
这也不起作用。
总结一下我的问题是如何在单击按钮时将通过 XML 导入的图像链接到名称?