FLASH加载XML相册
剛剛制作完簡(jiǎn)單的flash相冊(cè)后在網(wǎng)上搜索下,又找到一個(gè)分頁(yè)相冊(cè),目前還沒全部弄明白,先轉(zhuǎn)載上來,再學(xué)習(xí)吧。
關(guān)于FLASH加載XML相冊(cè),在網(wǎng)上百度一下。一大把源碼。但大多都沒給出完整教程。剛好最近在寫一個(gè)相冊(cè),所以把完整過程記錄一下。
下面講解詳細(xì)過程:
1、首先,新建一個(gè)文件夾,文件夾的名稱隨你怎么取都OK,用于存放本相冊(cè)的所有文件。
2、然后在文件夾中新建imageda、imagexiao、image.xml、Taoshaw_Photos.fla文件。如圖所示:
3、然后處理一些圖片放進(jìn)imageda與imagexiao目錄中,imagexiao目錄中的圖片大小為50*50。即,小圖片大小。在imageda目錄中的圖片大小為272*271。當(dāng)然,這里是我的標(biāo)準(zhǔn),大家可以自己定義大小的。
4、新建xml文件。寫XML和格式標(biāo)準(zhǔn),在此不再多說。內(nèi)容如下:
5、新建FLASH中。建立六個(gè)圖層,圖層名稱如下:
6、然后分別建立背景黑色條、大圖片背景、加載進(jìn)度條、按鈕等元件。
7、有一個(gè)關(guān)鍵的步驟,新建一空影片剪輯。然后拖到場(chǎng)景中,并賦予實(shí)例名“pic_holder_mc”。
8、然后在as層中添加代碼:
9、代碼及詳細(xì)講解如下:
<imgtao>
<img srcxiao="imagexiao/1.jpg" srcda="imageda/1.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/2.jpg" srcda="imageda/2.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/3.jpg" srcda="imageda/3.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/4.jpg" srcda="imageda/4.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/5.jpg" srcda="imageda/5.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/6.jpg" srcda="imageda/6.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/7.jpg" srcda="imageda/7.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/8.jpg" srcda="imageda/8.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/9.jpg" srcda="imageda/9.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/10.jpg" srcda="imageda/10.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/1.jpg" srcda="imageda/1.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/2.jpg" srcda="imageda/2.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/3.jpg" srcda="imageda/3.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/4.jpg" srcda="imageda/4.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/5.jpg" srcda="imageda/5.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/6.jpg" srcda="imageda/6.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/7.jpg" srcda="imageda/7.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/8.jpg" srcda="imageda/8.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/9.jpg" srcda="imageda/9.jpg" info="歡迎光臨淘沙網(wǎng)"/>
<img srcxiao="imagexiao/10.jpg" srcda="imageda/10.jpg" info="歡迎光臨淘沙網(wǎng)"/>
</imgtao>
?
//================版權(quán)聲明開始================////★淘沙網(wǎng):http://www.taoshaw.com
//★淘沙網(wǎng)所有教程歡迎轉(zhuǎn)載。不過請(qǐng)轉(zhuǎn)載時(shí)注明出處。謝謝合作。
//================版權(quán)聲明結(jié)束================//
this["loading_mc"]._visible = false;
//統(tǒng)一編碼
System.useCodepage = true;
//定義總數(shù)量
var _total:Number = 20;
//定義每頁(yè)顯示數(shù)量
var page_size:Number = 4;
//計(jì)算總頁(yè)數(shù)
var pages:Number = Math.ceil(_total/page_size);
var cur_page:Number = 1;
//定義XML類
var my_xml:XML = new XML();
//定義用于接收小圖片的數(shù)組
var my_small_arr:Array = new Array();
//定義用于接收大圖片的數(shù)組
var my_big_arr:Array = new Array();
//定義用于接收文本信息的數(shù)組
var my_info_arr:Array = new Array();
//設(shè)置加載路徑
my_xml.load("image.xml");
//去掉空格
my_xml.ignoreWhite = true;
//定義用于加載小圖的MovieClipLoader類
var my_smallClip:MovieClipLoader = new MovieClipLoader();
//定義用于顯示加載小圖信息的新項(xiàng)目
var my_smallObj:Object = new Object();
my_smallObj.onLoadInit = function(mc):Void {
//設(shè)置小圖片的寬度
mc._width = 50;
//設(shè)置小圖片的高度
mc._height = 50;
//設(shè)置小圖片距離左側(cè)注冊(cè)點(diǎn)的距離(橫向上的)
mc._x = 3;
//設(shè)置小圖片距離左側(cè)注冊(cè)點(diǎn)的距離(縱向上的)
mc._y = 2;
};
//添加監(jiān)聽
my_smallClip.addListener(my_smallObj);
//定義用于加載小圖片被點(diǎn)擊后,加載的大圖片的MovieClipLoader類
var my_bigClip:MovieClipLoader = new MovieClipLoader();
//定義用于顯示大圖片位置等信息的項(xiàng)目
var my_bigObj:Object = new Object();
my_bigObj.onLoadInit = function(mc):Void {
_root.loading_mc._visible = false;
//設(shè)置大圖片的寬度
mc._width = 272;
//設(shè)置大圖片的高度
mc._height = 271;
//設(shè)置大圖片距離左側(cè)注冊(cè)點(diǎn)的距離(橫向上的)
mc._x = 120;
//設(shè)置大圖片距離左側(cè)注冊(cè)點(diǎn)的距離(縱向上的)
mc._y = 107;
};
//添加監(jiān)聽
my_bigClip.addListener(my_bigObj);
//設(shè)置加載成功代碼
my_xml.onLoad = function(ok:Boolean):Void {
//如果加載成功,則運(yùn)行如下代碼
if (ok) {
//定義加載XML內(nèi)容的數(shù)量
var my_pic_len:Number = my_xml.firstChild.childNodes.length;
for (var i:Number = 0; i<MY_PIC_LEN; {
//定義node變量,這樣做的目的只是為了后面代碼的簡(jiǎn)化
var node = my_xml.firstChild.childNodes;
//將加載的內(nèi)容添加進(jìn)前面定義的小圖片、大圖片、文字信息數(shù)組中
my_small_arr.push(node.attributes.srcxiao);
my_big_arr.push(node.attributes.srcda);
my_info_arr.push(node.attributes.info);
}
//以下用于顯示加載的小圖片
for (var i:Number = 0; i<5; i++) {
_root["press_btn"+i].img = my_big_arr;
//在按鈕上面新建一個(gè)空的MC
var mc:MovieClip = _root["press_btn"+i].createEmptyMovieClip("mc", 100+i);
//加載圖片
my_smallClip.loadClip(my_small_arr, mc);
//當(dāng)按鈕被點(diǎn)擊的時(shí)候,就加載大圖片
_root["press_btn"+i].onPress = function():Void {
//加載大圖片對(duì)象
my_bigClip.loadClip(this.img, pic_holder_mc);
//根據(jù)XML信息,顯示圖片說明
info_txt.text = my_info_arr;
_root.loading_mc._visible = true;
};
//默認(rèn)情況下加載一張大圖片
my_bigClip.loadClip(my_big_arr[0], pic_holder_mc);
}
} else {
}
};
//上一頁(yè)按鈕代碼
pre_mc.onRelease = function() {
load_images(_root.cur_page-1);
};
//下一頁(yè)按鈕代碼
next_mc.onRelease = function() {
load_images(_root.cur_page+1);
};
//自定義加載分頁(yè)時(shí)數(shù)據(jù)
function load_images(page:Number) {
//當(dāng)總頁(yè)數(shù)小于1時(shí),顯示第一頁(yè)內(nèi)容
if (page<1) {
page = 1;
} else if (page>_root.pages) {
page = _root.pages;
}
if (page == cur_page) {
return;
}
_root.cur_page = page;
var start_index = _root.page_size*(page-1);
for (var i:Number = 0; i<5; i++) {
if (i>=_total) {
break;
}
_root["press_btn"+i].img = my_big_arr[start_index+i];
//在按鈕上面新建一個(gè)空的MC
var mc:MovieClip = _root["press_btn"+i].createEmptyMovieClip("mc", 100+i);
//加載圖片
my_smallClip.loadClip(my_small_arr[start_index+i], mc);
//當(dāng)按鈕被點(diǎn)擊的時(shí)候,就加載大圖片
_root["press_btn"+i].onPress = function():Void {
my_bigClip.loadClip(this.img, pic_holder_mc);
_root.loading_mc._visible = true;
};
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/caocaoyu/archive/2009/03/26/1422467.html
總結(jié)
以上是生活随笔為你收集整理的FLASH加载XML相册的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 艾宾浩斯记忆遗忘曲线
- 下一篇: 百度分享js代码