这里有一些地方需要注意,比如第一句
xml = XML(event.target.data);
如果直接
xml = event.target.data
会报错,因为两个变量的类型不一样。
这里可以看到xmlList,它是取得xml的children,对于使用xml非常方便。 然后实例化imageLoader,并载入xmlList里定义的缩略图,注意这里的写法。 调整一下坐标,并给imageLoader添加了一个name属性,这个属性的值就是xml文件里的图片地址,这有利于下面的showPicture函数。 然后将缩略图放到舞台上,并监听它的鼠标点击事件。
function showPicture(event:MouseEvent):void { imageLoader = new Loader(); imageLoader.load(new URLRequest(event.target.name)); imageLoader.x = 200; imageLoader.y = 25; addChild(imageLoader); imageText.x = imageLoader.x; imageText.y = 351; for(var j:int = 0; j < xmlList.length(); j++) { if(xmlList[j].attribute("source") == event.target.name) { imageText.text = xmlList[j]; } } fadeTween = new Tween(imageLoader,"alpha",None.easeNone,0,1,1,true); } imageText.autoSize = TextFieldAutoSize.LEFT; addChild(imageText);
这个点击后显示大图的函数,由于前面已经给name属性添加了图片地址,所以这里直接拿来用就可以了。 大图载入后分配一下坐标,添加到舞台上,接下来就该显示图片的说明了。 这里的做法是循环xmlList,然后比较xml里source是否与这里的name相等,是的话,将该xml的值赋予imageText,不过显然有更简单的做法,就是在上面的xmlLoaded函数中为imageLoader添加一个text属性,然后在showPicture里直接拿来用就可以了。 然后给图片来一个渐入效果,这个之前已经讲过了。 最后两行是定义imageText的对齐方式,这里是左对齐,然后放到舞台上。
整个案例到此结束。
源文件下载
|