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

首頁 > 辦公 > Flash > 正文

通過實例學習Flash AS3.0――案例六

2020-07-17 13:20:14
字體:
來源:轉載
供稿:網友
相關文章: Flash/actionscript/20071128/actionscript_1418.html">通過實例學習Flash AS3.0——案例五
首先聲明:本人大菜鳥一個,剛接觸AS3不久,許多理念還沒來得及灌輸,這些case都是從網上down的,但因為解說是英文的,不利我們學習,我就充當一個translater,順便可以讓自己鞏固一下知識。
水平有限,錯誤難免,歡迎大蝦小蝦,大鳥小鳥指正。
下面進入正題:
案例6:通過類來實現一個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
国产日韩欧美日韩大片| 欧美大片在线看免费观看| 青青青国产精品一区二区| 国产视频自拍一区| 美女国内精品自产拍在线播放| 日韩欧美成人精品| 亚洲系列中文字幕| 国内精品久久久久久影视8| 97超级碰碰人国产在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 日韩美女福利视频| 久久精品美女视频网站| 国产精品激情自拍| 日韩精品一区二区三区第95| 亚洲国产成人久久综合| 色婷婷综合久久久久中文字幕1| 亚洲xxxx视频| 97香蕉久久夜色精品国产| 国产国产精品人在线视| 久久激情视频久久| 国产欧美亚洲视频| 在线播放国产一区二区三区| 日韩av电影手机在线观看| 精品日本美女福利在线观看| 国产精品久久久久久久久久| 一本色道久久88综合日韩精品| 26uuu亚洲伊人春色| 亚洲一区中文字幕| 一本一本久久a久久精品牛牛影视| 亚洲精品成人久久| 成人日韩av在线| 亚洲欧美激情四射在线日| 欧美日韩美女视频| 亚洲a成v人在线观看| 国产精品91久久久久久| 在线精品视频视频中文字幕| 日韩高清有码在线| 亚洲free性xxxx护士白浆| 最新69国产成人精品视频免费| 亚洲欧美中文日韩在线v日本| 亚洲成人激情视频| 亚洲va欧美va在线观看| 久久久精品在线| 久久久在线免费观看| 欧美激情在线观看| 国产精品欧美日韩一区二区| 国内精品400部情侣激情| 大量国产精品视频| 亚洲福利小视频| 欧美激情第一页xxx| 午夜伦理精品一区| 午夜精品久久久久久久99热| 亚洲美女久久久| 57pao国产精品一区| 欧美成人在线免费视频| 中文字幕av一区中文字幕天堂| 九九精品视频在线观看| 中文字幕av一区中文字幕天堂| 国产精品男人的天堂| 亚洲精品电影在线观看| 国产精品久久久一区| 国产精品成人免费视频| 亚洲成人av在线| 永久免费精品影视网站| 91精品久久久久久久久久久| 中文字幕亚洲一区二区三区五十路| 欧美电影免费观看网站| 91精品国产乱码久久久久久久久| 91理论片午午论夜理片久久| 日韩专区在线观看| 色偷偷噜噜噜亚洲男人| 两个人的视频www国产精品| 欧美日韩黄色大片| 国产一区二区三区日韩欧美| 欧美国产精品日韩| 欧美精品九九久久| 亚洲国产精品久久精品怡红院| 国产精品免费一区二区三区都可以| 精品国产91久久久久久| 精品久久久久久久久久国产| 欧美视频在线观看 亚洲欧| 国产精品99久久99久久久二8| 国产精品视频最多的网站| 欧美贵妇videos办公室| 法国裸体一区二区| 国产美女久久精品香蕉69| 欧美性猛交xxxx免费看久久久| 国产性色av一区二区| 另类视频在线观看| 国产日韩欧美成人| 92看片淫黄大片看国产片| 亚洲精品国精品久久99热| 美女福利视频一区| 欧美午夜丰满在线18影院| 国模叶桐国产精品一区| 久久亚洲综合国产精品99麻豆精品福利| 在线成人一区二区| 亚洲电影免费在线观看| 日韩中文字幕精品| 国产一区二区三区网站| 亚洲精品xxx| 亚洲欧美激情视频| 亚洲女在线观看| 亚洲a成v人在线观看| 伊人激情综合网| 91视频国产精品| 久久亚洲精品一区二区| 欧美性猛交视频| 欧美黄色性视频| 国内精品久久久久久久久| 在线播放国产一区二区三区| 红桃av永久久久| 色综合久久天天综线观看| 日韩欧美成人精品| 亚洲天堂视频在线观看| 91久久夜色精品国产网站| 九九热这里只有精品6| 欧美精品免费在线| 久久99精品国产99久久6尤物| 精品毛片网大全| 精品久久久久久亚洲精品| 中文亚洲视频在线| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品美女999| 亚洲bt欧美bt日本bt| 日韩精品视频在线观看网址| 国产精品久久久久久久av大片| 在线亚洲欧美视频| 欧美久久久精品| 亚洲欧美激情四射在线日| 黄色成人在线播放| 欧美精品videos另类日本| 91精品国产色综合久久不卡98口| 国产精品日韩专区| 一个人www欧美| 国产精品av在线播放| 精品久久久久久久久久久久| 国产成人精品久久亚洲高清不卡| 91精品国产高清久久久久久久久| 亚洲天堂av女优| 亚洲国产精品视频在线观看| 国产亚洲精品久久久久久牛牛| 欧美精品videofree1080p| 亚洲尤物视频网| 黄色91在线观看| 亚洲精品小视频在线观看| 国产成人在线视频| 国产精品麻豆va在线播放| 亚洲欧美精品suv| 黑人与娇小精品av专区| 51久久精品夜色国产麻豆| 日韩高清免费观看| 成人免费直播live| 亚洲精品综合久久中文字幕| 国产日韩在线播放| 97人人模人人爽人人喊中文字| 超薄丝袜一区二区| 国产在线观看一区二区三区| 国产啪精品视频| 亚洲男人天堂久| 色综合天天狠天天透天天伊人| 欧美激情a∨在线视频播放| 午夜精品理论片| 亚洲а∨天堂久久精品9966|