亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Flash > 正文

AS3.0 通過類來實現一個gallery

2024-09-12 17:50:54
字體:
來源:轉載
供稿:網友
通過類來實現一個gallery

說明:一個比較簡單的相冊,通過類來實現。

演示:http://www.live-my-life-with-yuyi.com/as3_cases/gallery_class/

準備工作:打開源文件class_final.fla,點擊屬性里的發布設置,點擊Actionscript3旁邊的設置,在最下面的classpath里,引入classes_final的文件夾的路徑,然后點擊確定,前期工作就準備完了。

代碼:

唯一的一個類文件:ImageGallery.as

復制代碼 代碼如下:

package interactive.gallery 

    import flash.display.*; 
    import flash.events.*; 
    import fl.transitions.*; 
    import fl.transitions.easing.*; 
    import flash.filters.*; 
    import flash.net.*; 
    public class ImageGallery extends MovieClip 
    { 
        var xml:XML; 
        var xmlList:XMLList; 
        var xmlLoader:URLLoader = new URLLoader(); 
        var container:MovieClip = new MovieClip(); 
        var imageLoader:Loader; 
        var segments:Number; 
        var currentSegment:int; 
        var fullLoader:Loader = new Loader(); 
        var xmlPath:String; 
        var thumbAtt:String; 
        var fullAtt:String 
        public function ImageGallery(path:String,thumb:String, full:String) 
        { 
            section1 
        } 
        function xmlLoaded(event:Event):void 
        { 
            section2 
        } 
        function changeThumb(event:MouseEvent):void 
        { 
            section3 
        } 
        function showPicture(event:MouseEvent):void 
        { 
            section4 
        } 
    } 


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].attribute(fullAtt)));
這個是響應縮略圖點擊事件,當點擊后先去掉先前載入的大圖,然后再去載入縮略圖對應的大圖。
其實也不難,不是嗎?

再拉看一下完整的代碼

復制代碼 代碼如下:

package interactive.gallery 

    import flash.display.*; 
    import flash.events.*; 
    import fl.transitions.*; 
    import fl.transitions.easing.*; 
    import flash.filters.*; 
    import flash.net.*; 
    public class ImageGallery extends MovieClip 
    { 
        var xml:XML; 
        var xmlList:XMLList; 
        var xmlLoader:URLLoader = new URLLoader(); 
        var container:MovieClip = new MovieClip(); 
        var imageLoader:Loader; 
        var segments:Number; 
        var currentSegment:int; 
        var fullLoader:Loader = new Loader(); 
        var xmlPath:String; 
        var thumbAtt:String; 
        var fullAtt:String 
        public function ImageGallery(path:String,thumb:String, full:String) 
        { 
            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 xmlLoaded(event:Event):void 
        { 
            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); 
            } 
        } 
        function changeThumb(event:MouseEvent):void 
        { 
            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; 
            } 
        } 
        function showPicture(event:MouseEvent):void 
        { 
            fullLoader.unload(); 
            fullLoader.load(new URLRequest(xmlList[currentSegment].attribute(fullAtt))); 
        } 
    } 

類說完了,接下來就來看看fla里面都是怎么寫的。
這個就簡單多了

import interactive.gallery.ImageGallery;
var gallery:ImageGallery = new ImageGallery("data/images.xml","thumb","full");
addChild(gallery);
我不說了,聰明的你一看就明白了。

案例分析到此結束。
打包下載
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
1769国内精品视频在线播放| 国产精品成人一区二区| 色综合天天狠天天透天天伊人| 国产成人+综合亚洲+天堂| 亚洲精品久久久久| 亚洲精品白浆高清久久久久久| 日韩精品日韩在线观看| 成人在线一区二区| 国产有码一区二区| 这里只有精品视频在线| 色妞久久福利网| 九九热这里只有在线精品视| 欧美黑人性视频| 成人免费在线网址| 96sao精品视频在线观看| 亚洲精品mp4| 欧美丝袜一区二区三区| 亚洲欧美另类人妖| 国产一区二区三区在线视频| 成人激情视频小说免费下载| 精品国产老师黑色丝袜高跟鞋| 日本精品视频网站| 日韩欧美精品中文字幕| 成人在线播放av| 国产欧美va欧美va香蕉在线| 精品久久国产精品| 久久久精品2019中文字幕神马| 国产成人av在线播放| 久久久久久香蕉网| 精品国产一区二区三区久久狼黑人| 一区二区在线免费视频| 亚洲国产精品久久久| 国产日韩中文字幕| 国产精品自产拍高潮在线观看| 91在线国产电影| 亚洲欧美综合v| 久久免费视频这里只有精品| 亚洲第一二三四五区| 欧美大片在线免费观看| 亚洲精品国产精品自产a区红杏吧| 欧美综合在线第二页| 成人亲热视频网站| 成人综合国产精品| 成人福利网站在线观看| 久久视频在线免费观看| 国内精品一区二区三区四区| 91高清免费在线观看| 亚洲最新av网址| 国产亚洲a∨片在线观看| 亚洲人成毛片在线播放| 色偷偷9999www| 91高清视频免费| 亚洲国产精品悠悠久久琪琪| 国产91精品不卡视频| 成人精品在线视频| 97精品久久久中文字幕免费| 色噜噜狠狠色综合网图区| 欧美日韩国产精品一区二区不卡中文| 亚洲精品www| 不卡在线观看电视剧完整版| 日韩在线视频网站| 91黑丝在线观看| 国产精品视频专区| 亚洲成人激情视频| 亚洲成av人影院在线观看| 亚洲最大的网站| 国产91精品黑色丝袜高跟鞋| 美女福利精品视频| 欧美在线视频网| 欧美三级免费观看| 日韩在线视频免费观看高清中文| 久久精品2019中文字幕| 欧美孕妇孕交黑巨大网站| 欧美午夜丰满在线18影院| 亚洲美女自拍视频| 日韩美女视频中文字幕| 色www亚洲国产张柏芝| 久久久久久久久久久国产| 日韩综合视频在线观看| 久久久国产成人精品| 久久久久久久久久婷婷| 欧美成年人视频网站欧美| 欧美激情视频给我| 久久精品久久久久久| 国产精品精品一区二区三区午夜版| 国产成人精品免费视频| 日韩精品一区二区三区第95| 欧美久久精品午夜青青大伊人| 亚洲欧美综合另类中字| 欧美自拍视频在线| 亚洲free性xxxx护士hd| 国内精品久久久久久久| 日韩欧美aaa| 欧美激情图片区| 亚洲第一精品自拍| 日本欧美一二三区| 在线电影欧美日韩一区二区私密| 欧美美最猛性xxxxxx| 亚洲已满18点击进入在线看片| 亚洲一区二区三| 欧美在线一级va免费观看| 日韩综合视频在线观看| 欧洲成人免费视频| 久久久久这里只有精品| 国产精品久久久久久久9999| 尤物九九久久国产精品的特点| 国产精品久久99久久| 91丝袜美腿美女视频网站| 亚洲最大成人在线| 亚洲天堂av在线免费| 欧美激情第三页| 日韩精品免费综合视频在线播放| 久久久久日韩精品久久久男男| 国产欧美日韩91| 日韩精品高清在线观看| 成人免费大片黄在线播放| 成人精品aaaa网站| 日韩的一区二区| 久久99热精品| 国内精品国产三级国产在线专| 欧美成aaa人片免费看| 中文字幕免费国产精品| 久久久久久国产精品三级玉女聊斋| 日韩av在线免费| 亚洲精品日产aⅴ| 国模私拍一区二区三区| 在线观看日韩视频| 久久精品99无色码中文字幕| 美女性感视频久久久| 国产亚洲日本欧美韩国| 亚洲男人天堂网| 黄色成人在线播放| 中文欧美日本在线资源| 欧美成人一区二区三区电影| 亚洲天堂网在线观看| 亚洲国产成人精品电影| 精品国模在线视频| 91国偷自产一区二区三区的观看方式| 97精品在线视频| 久久久久久久久久国产精品| 午夜精品一区二区三区视频免费看| 亚洲最大福利网| 国产一区二区三区高清在线观看| 欧美性猛交xxxx免费看漫画| 精品一区二区三区四区| 久久精品99久久香蕉国产色戒| 久久久久国产精品免费| 欧美一区二区大胆人体摄影专业网站| 国产精品白丝av嫩草影院| 在线看日韩av| 日韩欧美国产激情| 中日韩美女免费视频网址在线观看| 亚洲影院在线看| 国产成人精品免费视频| 亚洲精品美女久久| 国产精品视频网| 日韩在线中文视频| 亚洲精品按摩视频| 国产精品久久久久久久久久免费| 久久精品国产精品| 欧美一级黄色网| 久久夜精品va视频免费观看| 色综久久综合桃花网| 欧美精品久久一区二区|