网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 网页设计 > Flash > Action > 不间断滚动显示图片的代码  

不间断滚动显示图片的代码

2006-12-04  作者:bitsCN整理  来源:webjx  点评 投稿 收藏

没什么特别的功能,就是可以偷点懒,循环播放照片,自动缩放,照片可以随意增加而不需要重新修改。FLA或加载外部的配置文件,自己检查照片的是否存在。需注意的是:图片数字序列文件不能中断,不然会把中断的地方当成最后一张图片。只要将图片用ACDsee批量修改成有规律名称的图片就行了。比如修改成:img1.jpg,img2.jpg,img3.jpg,img4.jpg,img5.jpg...  在FLA文件里startimg参数设置成第二张图片的数字,如果写第一张会出现1次重复的图片。

speed = 5;//滚动的速度
str="img"//照片序列文件开始字符 如:img1.jpg 就写img
startimg = 2;//照片序列文件开始数字+1,第一张叫img1.jpg  就写2
imgy = 30;//照片显示的y轴位置
imgwidth = 300;//照片最大宽度
imgheight = 250;//照片最大高度
w = imgwidth+100;//照片之间的间隔大小
//
total = Math.ceil(Stage.width/w);
LoaderNum = 0;
speed2=0;
//
var mc:MovieClip = this.createEmptyMovieClip("mc", getNextHighestDepth());
网管联盟bitsCN_com

for (var i = 0; i<=total; i++) {
 creatmc(i);
}
function creatmc(i) {
 duplicateMovieClip(mc, "mc"+i, getNextHighestDepth());
 this["mc"+i]._x = w*i;
 this["mc"+i].i = i;
 this["mc"+i]._y = imgy;
 this["mc"+i].onEnterFrame = function() {
  this._x<=total*w ? this._x += _root.speed+_root.speed2 : this._x=-_root.w;
  if (this._x == -_root.w) {
   this.i == _root.total ? _root.LoaderNum++ : null;
   LoadImg(str+(this.i+_root.LoaderNum*total+_root.startimg-1)+".jpg", this);
  }
  //               
  if (this.img._width != 0) {
网管u家u.bitscn@com

   if (this.img._width>this.img._height) {
    this.img._height = this.img._height/this.img._width*imgwidth;
    this.img._width = imgwidth;
   } else {
    this.img._width = this.img._width/this.img._height*imgheight;
    this.img._height = imgheight;
   }
  }
  this.img._x = (_root.imgwidth-this.img._width)/2;
  this.img._y = (_root.imgheight-this.img._height)/2;
 };
 this["mc"+i].onRollOver = function() {
  _root.speed2= -_root.speed
 }
 this["mc"+i].onRollOut = function() {
  _root.speed2= 0
 }
 this["mc"+i].onPress = function() {
  getURL(this.url);//这里可以修改图片打开的路径 网管网www_bitscn_com
 }
}
function LoadImg(name_, mc_) {
 var img:MovieClip = mc_.createEmptyMovieClip(str, mc_.getNextHighestDepth());
 var loadListener:Object = new Object();
 loadListener.onLoadError = function(target_mc:MovieClip, errorCode:String, httpStatus:Number) {
  if (errorCode == "URLNotFound") {
   _root.LoaderNum = 0;
   LoadImg(str+(mc_.i+LoaderNum*total+Number(startimg))+".jpg", mc_);
  }
 };
 mc_.url=name_
 var mcLoader:MovieClipLoader = new MovieClipLoader();
 mcLoader.addListener(loadListener);
 mcLoader.loadClip(name_, img);
}

//下面这句是加上背景的,这个背景会跟着照片滚动.需要自己新建个 影片剪接 叫"border",如果只播放照片就不用这段了.
Bw = border._width-20;
中国网管论坛bbs.bitsCN.com

Btotal = Math.ceil(Stage.width/Bw);
border._visible = 0;
for (var i = 0; i<=Btotal; i++) {
 duplicateMovieClip(border, "border"+i, getNextHighestDepth());
 this["border"+i]._x = Bw*i;
 this["border"+i].onEnterFrame = function() {
  this._x<=_root.Bw*_root.Btotal ? this._x += _root.speed+_root.speed2 : this._x=-_root.Bw;
 };
}



支持自定义效果模板

这个是可以自定义效果影片的模板文件,主要是加遮照的影片,无论多少个都可以,在mask影片里的填加空白帧,接着就是新建个影片剪辑就OK了.


var i = 1;//第一个显示的图片
var s = 1;//图片序列文件开始位置
var e = 4;//共几张图片
var t = mask._totalframes;
cg();
function cg() {
 ahl.gotoAndPlay(1); 网管论坛bbs_bitsCN_com
 img.contentPath="b"+i+".jpg"
 bgimg.contentPath="b"+(i == s ? e : (i-1))+".jpg" 
 i == e ? i=s : i++;
 mask._currentframe>=t ? mask.gotoAndStop(1) : mask.nextFrame();
}
id = setInterval(cg, 4000);

TAGs代码   图片   显示   滚动   照片   mc   this   文件   function    
 上一篇:没有了   下一篇:用了BitmapData类的图片“环绕”效果
不间断滚动显示图片的代码 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: