+ -
当前位置:首页 → 问答吧 → 【求助】flash实现图片轮换代码修改(附源文件)

【求助】flash实现图片轮换代码修改(附源文件)

时间:2011-10-17

来源:互联网

以下代码可以实现多图片轮换。
首先你所有的图片的名称要按一定顺序排列,如有300张,则从1.jpg到300.jpg(注意文件名前不要加0,例如第一张就命名为1.jpg而不要命名为001.jpg)。然后进入flash后,假定1秒钟换一张图片,则在第1帧和第13帧插入关键帧,并设置这两帧的帧动作为:
第1帧:
i=1;
第13帧:
if(i<=300){//假定有300张图片,有多少张就设多少
   loadMovieNum(i+".jpg", i+1);//加载图片
   unloadMovieNum(i);//删除上一张图片
   i=i+1;
   gotoAndPlay(2);
}else{
   stop();
}

以测试,可行。
但并不满意,存在以下问题:
1、不能马上出现第一张图片,似乎要等1秒左右。
2、总感觉太生硬,能不能修改代码实现淡入淡出的效果呢?

本人是新手,对代码不是很了解,想请各位高手指点如何修改代码达到预期目的,先谢了!
用flash代码实现图片轮换.rar (120.57 KB)
用flash代码实现图片轮换.rar (120.57 KB)
下载次数: 1
2011-10-17 22:21


[ 本帖最后由 liuj0510 于 2011-10-17 22:29 编辑 ]

作者: liuj0510   发布时间: 2011-10-17

1 删除时间轴,只保留一帧.
2 粘贴以下代码到第一帧上.
复制内容到剪贴板
代码:
function onLoadInit(_mc:MovieClip) {
    _mc._alpha =0;
    _mc.onEnterFrame =function(){
        this._alpha+=6;
        if(this._alpha>=100)delete this.onEnterFrame;
    }
}
function onLoadProgress(_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
    trace("已加载:"+bytesLoaded/bytesTotal*100+"%");
}
function onLoadStart(_mc:MovieClip){
    trace("加载开始了!");
}
function changeImage(){
    nowMc.onEnterFrame =function(){
        this._alpha-=6;
        if(this._alpha<=3)this.removeMovieClip();
    }
    nowMc=createEmptyMovieClip("image"+index,index++);
    loader.loadClip(index+".jpg",nowMc);
    setTimeout(this,"changeImage",3000);
}
var nowMc:MovieClip;
var index:Number =1;
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(this);
changeImage();
以下附件为CS3格式.

附件

用flash代码实现图片轮换.rar (144.04 KB)

2011-10-18 09:42, 下载次数: 1

作者: flash023   发布时间: 2011-10-18

伟 哥厉害!

作者: flashtime   发布时间: 2011-10-18