|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Flash是一个非常优秀的矢量动画制作软件,它以流式控制技术和矢量技术为核心,制作的动画具有短小精悍的特点,所以被广泛应用于网页动画的设计中,以成为当前网页动画设计最为流行的软件之一。
poluoluo中心提醒:全剧本打造飞舞的气泡(flashCS4).
效果:
[media=wmv,550,400][/media]
具体代码:
functionball(r:int):MovieClip{//自界说函数ball,参数为r,整数型,前往值为MovieClip
varcol:uint=0xffffff*Math.random();//声明一个无标记整数型变量col,猎取恣意色彩
varsh:MovieClip=newMovieClip();//声明一个影片剪辑类实例sh
sh.graphics.beginGradientFill(GradientType.RADIAL,[0xffffff,col,col],[0.5,1,1],[0,200,255]);//在sh中设置突变添补款式(放射状突变,色彩,通明度,色块地位)
sh.graphics.drawCircle(0,0,r);//在sh中画圆(圆心坐标(0,0),半径为参数r)
sh.graphics.endFill();//停止添补
returnsh;//前往sh
}
varballArr:Array=[];//声明一个空数组ballArr
for(vari:int=0;i<10;i++){//创立一个for轮回,轮回10次
varballs:MovieClip=ball(Math.random()*20+20);//声明一个影片剪辑类实例balls,挪用函数ball(参数r半径的值为20-40之间的随机值)
addChild(balls);//把balls增加到显现列表
balls.x=Math.random()*(stage.stageWidth-balls.width)+balls.width/2;//balls的X坐标
balls.y=Math.random()*(stage.stageHeight-balls.height)+balls.height/2;//balls的Y坐标,使它呈现在舞台的恣意地位
balls.vx=Math.random()*2-1;//为balls设置自界说属性vx,数值为-1-1之间的随机数,暗示X偏向的速率
balls.vy=Math.random()*2-1;//为balls设置自界说属性vy,数值为-1-1之间的随机数,暗示Y偏向的速率
ballArr.push(balls);//把balls增加到数组ballArr中
}
addEventListener(Event.ENTER_FRAME,frame);//增加帧频事务侦听,挪用函数frame
functionframe(e){//界说帧频事务函数frame
for(vari:int=0;i<ballArr.length;i++){//创立一个for轮回,轮回次数为数组ballArr的元素数
varballs:MovieClip=ballArr;//声明一个影片剪辑类实例balls,猎取数组ballArr的元素
balls.x+=balls.vx;//balls的X坐标每帧增添balls.vx
balls.y+=balls.vy;//balls的Y坐标每帧增添balls.vy
if(balls.x<balls.width/2){//假如balls出了舞台右边缘
balls.x=balls.width/2;//balls的X坐标猎取balls宽度的一半
balls.vx*=-1;//balls.vx猎取它的相反数
}
if(balls.x>stage.stageWidth-balls.width/2){//假如alls出了舞台右侧缘
balls.x=stage.stageWidth-balls.width/2;//balls的X坐标猎取场景宽度与balls宽度一半的差
balls.vx*=-1;//balls.vx猎取它的相反数
}
if(balls.y<balls.height/2){//假如balls出了舞台上边沿
balls.y=balls.height/2;//balls的Y坐标猎取balls高度的一半
balls.vy*=-1;//balls.vy猎取它的相反数
}
if(balls.y>stage.stageHeight-balls.height/2){//假如balls出了舞台下边沿
balls.y=stage.stageHeight-balls.height/2;//balls的Y坐标猎取舞台高度与balls高度一半的差
balls.vy*=-1;//balls.vy猎取它的相反数
}
}
for(varj:int=0;j<ballArr.length-1;j++){//创立一个for轮回,轮回次数比数组ballArr元素数少1
varball0:MovieClip=ballArr[j];//声明一个影片剪辑类实例ball0,猎取数组ballArr的元素
for(varm:int=j+1;m<ballArr.length;m++){//创立一个for轮回,
varball1:MovieClip=ballArr[m];//声明一个影片剪辑类实例ball1,猎取数组ballArr的元素
vardx:Number=ball1.x-ball0.x;//声明一个数值型变量dx,猎取
vardy:Number=ball1.y-ball0.y;//声明一个数值型变量dy,猎取
varjl:Number=Math.sqrt(dx*dx+dy*dy);//声明一个数值型变量jl,猎取小球的间隔
varqj:Number=ball0.width/2+ball1.width/2;//声明一个数值型变量猎取小球半径之和
if(jl<=qj){//假如jl小于即是qj
varangle:Number=Math.atan2(dy,dx);//声明一个数值型变量angle,猎取ball1相对ball0的角度
vartx:Number=ball0.x+Math.cos(angle)*qj*1.01;//声明一个数值型变量tx,猎取方针点的X坐标
varty:Number=ball0.y+Math.sin(angle)*qj*1.01;//声明一个数值型变量ty,猎取方针点的Y坐标
ball0.vx=-(tx-ball1.x);//ball0在X偏向的速率
ball0.vy=-(ty-ball1.y);//ball0在Y偏向的速率
ball1.vx=(tx-ball1.x);//ball1在X偏向的速率
ball1.vy=(ty-ball1.y);//ball1在Y偏向的速率
}
}
}
}
附件下载:全剧本飞舞的气泡.rar
运行时,它可以跨浏览器和操作系统、原汁原味地呈现具有表现力的应用程序、内容和视频,功能强大,兼容性高。 |
|