在经典看到一个flash图片展示站点,自己也手痒了,做了一个,功能比较简单,但界面看着还比较舒服
小更新了一下,当点击大图片时在新窗口打开原图片
浏览地址:
http://www.healdream.com/upload/flash/stage.html
全部AS(写的比较粗糙,见笑了,如果看得比较类的话,可以复制到flash里再看):
复制内容到剪贴板
代码:
import flash.filters.GlowFilter;
this["loading_mc"]._visible = false;//将Loading设为不可见
var myXML:XML = new XML();
var img_url;//定义图片地址
var pages = 1;//设定刚开始的页码
var cur_page=1;//当前页码
var img_nums = 11;//每页的图片数
var img_intr:Array=new Array();//用来存放说明的数组
var s_img:Array = new Array();//用来存放小图片地址的数组
var b_img:Array = new Array();//用来存放大图片地址的数组
var myMCL:MovieClipLoader = new MovieClipLoader();//这个是用来加载大图片的
var myObj:Object = new Object();
myObj.onLoadInit = function(mc) {
_root.loading_mc._visible = false;//将loading设为隐藏
//设置图片的宽和高
mc._width = Stage.width;
mc._height = Stage.height;
//定义鼠标滑过事件
mc.onRollOver = function() {
//将消息条由舞台外移到舞台内,当y坐标变为0时删除帧循环
_root.info_mc.onEnterFrame = function() {
this._y += 8;
if (this._y>=0) {
this._y = 0;
delete this.onEnterFrame;
}
};
};
//定义鼠标滑出事件,将消息条重新放到舞台外
mc.onRollOut = function() {
_root.info_mc._y = -40;
};
//当鼠标按下时在新的窗口打开图片
mc.onRelease=function(){
getURL("http://www.healdream.com/upload/flash/"+img_url,"_blank");
}
};
myMCL.addListener(myObj);
//这个是用来加载小图片的
var mySmallMCL:MovieClipLoader = new MovieClipLoader();
var mySmallObj:Object = new Object();
mySmallObj.onLoadInit = function(mc) {
//小图片加载完后设置宽高和坐标
mc._width = 53;
mc._height = 53;
mc._x = 1;
mc._y = 1;
};
mySmallMCL.addListener(mySmallObj);
//定义发光滤镜
var glow:GlowFilter = new GlowFilter(0xffffff, 0.7, 3, 3, 2, 3);
//载入xml文件
myXML.load("list.xml");
myXML.ignoreWhite = true;
myXML.onLoad = function(suc) {
if (suc) {
//将里面的一些值放到之前定义的三个数组里
for (var i = 1; i<=myXML.firstChild.childNodes.length; i++) {
s_img.push(myXML.firstChild.childNodes[i-1].attributes.path);
b_img.push(myXML.firstChild.childNodes[i-1].firstChild.nodeValue);
img_intr.push(myXML.firstChild.childNodes[i-1].attributes.intr);
}
//计算出总页数
pages = Math.ceil(myXML.firstChild.childNodes.length/img_nums);
//让舞台上的11个mc分别加载小图片,并定义鼠标事件
for (var i = 1; i<=11; i++) {
var mc:MovieClip = _root["holder_"+i+"_mc"].createEmptyMovieClip("mc", 100+i);
mySmallMCL.loadClip(s_img[i-1], mc);
//将小图片地址赋给当前的mc
_root["holder_"+i+"_mc"].img = b_img[i-1];
_root["holder_"+i+"_mc"].i=i-1;
//当鼠标滑过时,发光
_root["holder_"+i+"_mc"].onRollOver = function() {
this.filters = [glow];
};
//当鼠标移出时复原
_root["holder_"+i+"_mc"].onRollOut = function() {
this.filters = "";
};
//当鼠标按下时,加载大图片
_root["holder_"+i+"_mc"].onPress = function() {
_root.info_mc.info_txt.text=img_intr[this.i];
img_url=b_img[this.i];
myMCL.loadClip(this.img, pic_holder_mc);
_root.loading_mc._visible = true;
};
}
//定义当前页为1
cur_page = 1;
}
};
//前一页按钮
pre_mc.onRelease = function() {
get_pre();
};
//后一页按钮
next_mc.onRelease = function() {
get_next();
};
function get_next() {
//计算当前页与总页数
if (cur_page<pages && pages != 1) {
cur_page++;
//定义起始的图片
start_num = (cur_page-1)*img_nums;
//加载下一页的图片
for (var i = 1; i<=11; i++) {
//当当前图片数大于总图片数时,卸载之前加载的图片
if (start_num+i>s_img.length) {
mySmallMCL.unloadClip(_root["holder_"+i+"_mc"].mc);
}
_root["holder_"+i+"_mc"].i=start_num+i-1;
_root["holder_"+i+"_mc"].img = b_img[start_num+i-1];
mySmallMCL.loadClip(s_img[start_num+i-1], _root["holder_"+i+"_mc"].mc);
}
}
}
function get_pre() {
if (cur_page>1) {
cur_page--;
//定义起始页
start_num = (cur_page-1)*img_nums;
//当当前图片数大于图片总数时退出循环
for (var i = 1; i<=11; i++) {
if (start_num+i>s_img.length) {
break;
}
_root["holder_"+i+"_mc"].i=start_num+i-1;
_root["holder_"+i+"_mc"].img = b_img[start_num+i-1];
mySmallMCL.loadClip(s_img[start_num+i-1], _root["holder_"+i+"_mc"].mc);
}
}
}源文件下载地址:
http://www1.51files.com/?XMAHC7LUEJXS1RI5CAUR
[
本帖最后由 lzyy 于 2007-1-30 12:01 编辑 ]