分享
 
 
 

xml方式载入图片自动轮换显示

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

模拟韩国滚动广告效果,从外部读取图片和说明及连接

由于使用xml和外部图片,因此本程序需要下载后观看效果,本作品只为教程使用,因此没有做loading处理。

点击下载源文件

//XML文件部分代码(imgList.xml)

//----------------------------------------------------------------------------------

<?xml version=’1.0’ encoding=’GB2312’?>

<imgList>

<list path="swf/1.jpg" info="美女1">http://www.ebidea.com<;/list>

<list path="swf/2.jpg" info="美女2">http://www.ebidea.com<;/list>

<list path="swf/3.jpg" info="美女3">http://www.ebidea.com<;/list>

<list path="swf/4.jpg" info="美女4">http://www.ebidea.com<;/list>

<list path="swf/5.jpg" info="美女5">http://www.ebidea.com<;/list>

<list path="swf/6.jpg" info="美女6">http://www.ebidea.com<;/list>

<list path="swf/7.jpg" info="美女7">http://www.ebidea.com<;/list>

<list path="swf/8.jpg" info="美女8">http://www.ebidea.com<;/list>

<list path="swf/9.jpg" info="美女9">http://www.ebidea.com<;/list>

<list path="swf/10.jpg" info="美女10">http://www.ebidea.com<;/list>

<list path="swf/11.jpg" info="美女11">http://www.ebidea.com<;/list>

</imgList>

//flash AS代码:

//----------------------------------------------------------------------------------

Stage.showMenu = false;

Stage.scaleMode = "noScale";

fscommand(allowscale, true);

//初始化屏幕大小

System.useCodepage = true;

//中文支持

imgW = 580;

imgH = 386;

//初始化场景宽度和高度

jTime = 1500;//初始化滚动间隔时间,默认1.5秒

var myLoad = new XML();

myLoad.ignoreWhite = true;

myLoad.load("imgList.xml");

myLoad.onLoad = function(success) {//装载xml文件

if (success) {

createEmptyMovieClip("img_mc", -16383);//装载成功,初始化滚动mc元件

img_mc.createEmptyMovieClip("loadImg0", 1);//创建loading图片的子元件

img_mc._x = -imgW;//初始化坐标位置

x = 0;//初始化显示图片的指针

imgList();//执行函数imgList();

makeBtn();//创建控制按钮

} else {

trace("错误!装载xml文件不成功!");//返回错误信息

}

};

function makeBtn() {//本函数初始化控制按钮元件

_root.attachMovie("next_btn", "n_btn", 50);//连接向后的按钮

_root.attachMovie("next_btn", "u_btn", 51);//连接向前的按钮

u_btn._rotation = 180;//控制向前的按钮翻转角度

u_btn._x = imgW-50;//

u_btn._y = imgH-30;//

n_btn._x = imgW-25;//

n_btn._y = imgH-30;//初始化两个按钮的位置

u_btn.onRelease = MoveLeft;//当点此按钮的时候执行向左滚动的函数

n_btn.onRelease = MoveRight;//‘’‘’‘’‘’‘’‘右滚动的函数

u_btn.onRollOver = function() {//当鼠标在本按钮上的时候清除自动滚动选项

clearInterval(MA);

};

u_btn.onRollOut = function() {//当鼠标离开后继续自动滚动

MA = setInterval(MoveLeft, jTime);

};

n_btn.onRollOver = function() {//

clearInterval(MA);

};

n_btn.onRollOut = function() {//

MA = setInterval(MoveLeft, jTime);

};

}

function imgList() {//xml分析函数,并构造滚动元件

myList = myLoad.firstChild.childNodes;

myListLen = myList.length;

for (i=1; i<myListLen+2; i++) {

img_mc.loadImg0.duplicateMovieClip("loadImg"+i, i+1);

}

for (i=0; i<myListLen+2; i++) {

loadImgs = eval(img_mc["loadImg"+i]);

mcbtns = img_mc.attachMovie("btn_mc", "btn"+i, i+myListLen+4);//连接图片按钮

loadImgs.btn = mcbtns;//初始化各图片对应的按钮

loadImgs.i = i;//初始化当前图片的指针

loadImgs.loadImg();//执行图片装载函数

}

}

function moveImg() {//图片滚动函数

if (x>myListLen) {//控制向左的循环

x = 1;

img_mc._x = 0;

}

if (x<1) {//控制向右循环

x = myListLen;

img_mc._x = -img_mc._width+imgW;

}

textValue(myList[x-1].attributes.info);//执行文本显示函数

onEnterFrame = function () {//循环检测滚动

targetx = -x*imgW;

img_mc._x += (targetx-img_mc._x)*0.2;

if (Math.abs(targetx-img_mc._x)<=0.2) {//位置符合后停止循环

img_mc._x = targetx;

delete onEnterFrame;

}

};

}

function MoveLeft() {//向左滚动

x++;

moveImg();

}

function MoveRight() {//向右滚动

x--;

moveImg();

}

MA = setInterval(MoveLeft, jTime);//自动滚动

MovieClip.prototype.loadImg = function() {//mc装载图片函数

if (this.i == 0) {//在最前增加张最后的图片,方便向左循环。

this.loadMovie(myList[myListLen-1].attributes.path);

} else if (this.i == myListLen+1) {//在最后帧位置怎加第一张图片,方便向右循环

this.loadMovie(myList[0].attributes.path);

} else {

this.loadMovie(myList[this.i-1].attributes.path);

}

this._x = this.i*imgW;//初始化位置,逐个相连接

this.btn._x = this._x;//控制图片上方的透明按钮对应位置

this.btn._width = imgW;//

this.btn._height = imgH;//控制’‘’‘’‘’‘对应尺寸

this.btn.onRelease = function() {//点击图片按钮连接网址

getURL(myList[this.i-1].childNodes);

};

this.btn.onRollOver = function() {//当鼠标在图片上停止自动滚动

clearInterval(MA);

};

this.btn.onRollOut = function() {//当鼠标离开图片,继续自动滚动

MA = setInterval(MoveLeft, jTime);

};

};

textFiled();

function textValue(myValue) {//为文本框显示图片对应的说明;

myformat = new TextFormat();

myformat.align = "right";

myformat.color = 0xffffff;

myformat.font = "宋体";

myformat.size = 12;

myformat.bullet = false;

myformat.underline = false;

_root.createTextField("mytext", 20, imgW-360, imgH-38, 300, 16);

mytext.selectable = false;

mytext.text = myValue;

mytext.setTextFormat(myformat);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有