我正在尝试使用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导入的图像链接到名称?
答案 0 :(得分:0)
执行此操作的最佳方法是简单onComplete函数()将事件侦听器添加到按钮实例,然后你可以添加addChild,此时此图片就会准备就绪