先看一个例子:
var imageXML:XML = <images>
trace(imageXML.children()[0].attribute("source")) //输出:images/Image1.jpg
trace(imageXML.image[0].attribute("source"));//输出:images/Image1.jpg
trace(imageXML.child("image")[0].attribute("source"));//输出:images/Image1.jpg
常用方法:
myXML.child() :必须有一个字符串类型的参数
一个XML文件大致包含三个部分:
外部调用xml文件:
var imageLoader:Loader;
var xml:XML;
var xmlList:XMLList;
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("data/images.xml"));
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
function xmlLoaded(event:Event):void
{
}
其中imageLoader.load(new URLRequest(xmlList[i].attribute("thumb")));一句可以改成imageLoader.load(new URLRequest(xml.children()[i].attribute("thumb")));或者imageLoader.load(new URLRequest(xml.child("image")[i].attribute("thumb")));后两种方法易记,但没xmlList简单。
创建XMLList:
对象声明与对象实例化:
一般声明与实例化在同语句里执行,比如var xmlLoader:URLLoader = new URLLoader();
但是如果某个对象需要实例化多个对象,比如使用for循环,创建多个,这样的话就先进行声明,在for循环里进行实例化,比如:
}
Loader与URLLoader:
在上面的例子中要载入image.xml文件,所以使用URLLoader类,加载图片则使用Loader类。
调用xml文件里的数据:
一种方法就是用myXML.children()[i].attribute(“属性名”)的方法,上例中用的就是这种方法。也可以给Loader实例的name属性赋值,然后在事件函数中调用event.target.name就可以调用xml文件中的数据了。比如:
imageLoader.name = xml.child(“image”)[i].attribute(“source”);
imageLoader.addEventListener(MouseEvent.CLICK,showPicture);
function showPicture(event:MouseEvent):void
{
}
动态载入图片的相应文本:
imageLoader.addEventListener(MouseEvent.CLICK, showPicture);
在showPicture函数中添加语句:
for(var j:int = 0;j<xmlList.length();j++)
TextFieldAutoSize属性:
它是在设置TextField类的autoSize属性时用到的常量,有:
添加图片缓动载入效果:
在showPicture函数添加:
var fadeTween:Tween = new Tween(imageLoader,"alpha",None.easeNone,0,1,5);
评论