收藏本站 | 站点地图 | 繁體中文
沭阳乐园
您现在的位置: 沐阳乐园 >> 文章中心 >> 网络教程 >> 动画实例 >> 正文
Flash 连续滚动的图片效果         
Flash 连续滚动的图片效果
作者:佚名 文章来源:原创 点击数:2157 更新时间:2010-12-7 1:58:19

思路是,把超出视觉范围的图片追加到最后一张图片的未尾或是在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的影片都运动起来

if(this._y<-128){//判断影片的位置是否到达了指定的位置,如果到达了,就执行以下的语句.

this._y=Stage.height+80;//设置过了界限的MC的Y位置为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;

if(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位置

}else{

this["mc"+i]._y=sheight+(i-11)*(this["mc"+i]["picmc"+i]._height+jianxi);

//设置图片的Y位置

}

if(i==picNum){

//当加载最后一张图片时

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;//让图片滚动起来

if(this._y<(-this["picmc"+this.num]._height)){

//当图片的运动到场景外了.就让这张图片接在全部图片长度的最后面.

//(不知道大家能不能明白我的这句话.我也表达不清楚了.)

this._y=totalHeight-this._height+jianxi;

}

};

}

文章录入:晴天    责任编辑:清水洗尘 
  • 上一篇文章:
  • 下一篇文章:
  • 【字体: 】 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    广告招商
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    ::发表评论::
     姓 名:
     评 分: 1分 2分 3分 4分 5分
     评论内容:
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用本网服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • 广告招商
    文章 下载 图片 文字广告
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登陆

    备案/许可证编号: 闽ICP备16020960号-1号 域名创建于2016年8月
    版权: 沐阳乐园 All Rights Reserved 站长:张萍 邮箱:381415887@qq.com 联系QQ:联系站长