加载图像,并在点击按钮时准备就绪
问题描述:
我试图通过使用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);
}
当我做了手动添加它到动画片段
最后一个函数会工作,但它并没有现在的工作我已经尝试了这个问题,以及:
function addImage(image:String)
{
var imageName = image;
// var imageClass:Class = getDefinitionByName(imageName) as Class;
addChild(imageName);
}
这不起作用。
总结我的问题是,如何将通过XML导入的图像链接到单击按钮时的名称?
答
做到这一点,最好的方法是简单的onComplete函数()事件监听器添加到按钮实例,那么你可以的addChild,画面将做好准备总是在这个时候这个条件
功能myButtonClick(EV:MouseEvent)方法:void { addImage(“image1”);这是在图像加载之前天生的事件造成的扭曲 – joshua 2013-04-07 12:05:13
在您的xml中,每个图像是否会创建一个按钮? – prototypical 2013-04-07 15:00:34