首页 »Flash教程 » flash图片滚动效果:Flash 连续滚动的图片效果 »正文
flash图片滚动效果:Flash 连续滚动的图片效果
来源: 发布时间:星期五, 2009年1月23日 浏览:9次 评论:0
思路是,把超出视觉范围 图片追加到最后 张图片 未尾或是在Stage 某个位置.只要能跟最后 张图片 位置后面就可以了. for(i=1;i<7;i){ this.createEmptyMovieClip("mc"+i,i);//创建个空白影片(其实是是有I个,这样每个MC运动才不会影响到其它MC运动.) this["mc"+i]._x=10; this["mc"+i]._y=(i-1)*100+20;//设置其X,Y位置 this["mc"+i].attachMovie("m"+i,"mc"+i,7*i);//加载内部MC this["mc"+i].onEnterFrame=function{//加个enterframe事件 this._y=this._y-2;//让每个加载有MC影片都运动起来 (this._y<-128){//判断影片位置是否到达了指定位置,如果到达了,就执行以下语句. this._y=Stage.height+80;//设置过了界限MCY位置为stage高度 } }; } 其实各位可以在这个基础上再加以扩展.这才是学习 好思路方法.现在我也再扩展 下这段代码 应用性些.首先上面 那段代码只能用于图片 样高 才行.如果图片 高度不 样 话.那图片 滚动就会出现问题了.而我下面 那些代码呢也有 定 局限性,要把图片大 跟大 起排列在 起.小 跟小 排在 起.(明?) varsheight:Number;//前面类图片大小,其实这里就是记录前十个小图片总长度 varflag:Boolean; varjianxi:Number; varspeed:Number; varpicNum:Number; vartotalHeight:Number; //图片总长度;可在总长度总要保持不变 flag=false; //这个变量是用于标识是不是己经把全部图片加载完 jianxi=20; //每张图片间隔高度 speed=10; //图片滚动速度 picNum=20; //图片总数 for(i=1;i<21;i){ this.createEmptyMovieClip("mc"+i,i); this["mc"+i].attachMovie("pic"+i,"picmc"+i,i); this["mc"+i]._x=0; this["mc"+i].num=i; (i<11){//前十张图片和后十张图片高度不样. this["mc"+i]._y=(i-1)*(this["mc"+i]["picmc"+i]._height+jianxi); //设置图片Y位置 sheight=(i-1)*(this["mc"+i]["picmc"+i]._height+jianxi); //其实这里就是记录着第十张图片Y位置 }{ this["mc"+i]._y=sheight+(i-11)*(this["mc"+i]["picmc"+i]._height+jianxi); //设置图片Y位置 } (ipicNum){ //当加载最后张图片时 flag=true; //把这个标识符设置为TRUE,就意味着,超过视觉范围图片可以接在后面了 totalHeight=this["mc"+i]._y+this["mc"+i]["picmc"+i]._height; //这是全部图片和间隙长度总和.每张超过视觉范围图片都会被加在这个后面. } //每个被加载进来pic中都有图片,图片上面放着个透明按钮 this["mc"+i]["picmc"+i].btn.useHandCursor=false; this["mc"+i]["picmc"+i].btn.onRollOver=function{ speed=0; //当鼠标经过时,让速度为0 }; this["mc"+i]["picmc"+i].btn.onRollOut=function{ speed=10;//当鼠标经过时,让速度为10 }; this["mc"+i]["picmc"+i].btn.onRelease=function{ //这是当鼠标点击图片上按钮时触发事件 //loadBigPic,是我在主场景中定义个加载大图片个.这里就不贴出来了. this._parent._parent._parent._parent.loadBigPic(this._parent._parent.num); }; this["mc"+i].onEnterFrame=function{ this._y=this._y-speed;//让图片滚动起来 (this._y<(-this["picmc"+this.num]._height)){ //当图片运动到场景外了.就让这张图片接在全部图片长度最后面. //(不知道大家能不能明白我这句话.我也表达不清楚了.) this._y=totalHeight-this._height+jianxi; } }; }
相关文章
读者评论
发表评论
|
|