专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »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;
            
        }
    };
}


相关文章

读者评论

发表评论

  • 昵称:
  • 内容: