section1代码:
xmlPath = path; thumbAtt = thumb; fullAtt = full; container.x = 25; container.y = 25; fullLoader.x = 200; fullLoader.y = 25; container.addEventListener(MouseEvent.MOUSE_MOVE, changeThumb); container.addEventListener(MouseEvent.CLICK, showPicture); xmlLoader.load(new URLRequest(xmlPath)); xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded); container.filters = [new DropShadowFilter()]; addChild(container); addChild(fullLoader);
这段代码的功能就是在初始化类时,给一些以后会用到的变量赋值,因为这些变量是全局变量,所以后面的function都能用。 对container添加了监听事件,监听鼠标移动和点击。 然后载入xml文件,当xml载入完成后,执行xmlLoaded函数 然后对container应用了阴影滤镜,这个container就是将来我们要载入图片的mc。 然后将container和fullLaoder放到舞台上,fullLoader将来会载入大图。
section2
xml = XML(event.target.data); xmlList = xml.children(); for (var i:int = 0; i < xmlList.length(); i++) { imageLoader = new Loader(); imageLoader.load(new URLRequest(xmlList[i].attribute(thumbAtt))); container.addChild(imageLoader); }
当xml载入完成后就会执行这个函数,先是获取xml对象列表,然后获取xml的子元素。这个在前面的教程提及过。 遍历子元素,然后通过Loader载入图片,并将imageLoader添加到container里。
section3
segments = container.width / container.numChildren; currentSegment = Math.floor(container.mouseX / segments); if (currentSegment <= container.numChildren - 1) { for (var j:int = 0; j < container.numChildren; j++) { container.getChildAt(j).visible = false; } container.getChildAt(currentSegment).visible = true; }
这个函数是响应鼠标在缩略图上移动的事件,有一个算法在里面。 将mc的宽除以载入的缩略图的数量,得到一个平均数。 然后将当前鼠标的x位移除以刚刚得到的平均数就得到了当前鼠标所在的图片(听着有点别扭) 然后先将所有container里的child隐藏起来,再显示当前的图片。
section4
fullLoader.unload(); fullLoader.load(new URLRequest(xmlList[currentSegment].at |