|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
网页设计者使用Flash创作出既漂亮又可改变尺寸的导航界面以及其他奇特的效果。Flash的前身是FutureWave公司的FutureSplash,是世界上第一个商用的二维矢量动画软件。
本例先容利用Flash的AS编写蝌蚪摆尾动画效果,但愿伴侣们喜好~~
先看最后的效果
http://www.webjx.com/files/media/askedoubaiwei.swf
场景里代码
Object.environment=this;
Math.prototype.degrees=function(r)
{
return(r*180/3.141593E+000);
};
maxtents=3;
this.onEnterFrame=function()
{
if(!random(30)&&tents<maxtents)
{
varnombre="tent"+String(depth++);
varneo=this.attachMovie("tentacle",nombre,depth);
neo._x=random(600);
neo._y=370;
neo.theta=270;
++tents;
}//endif
};
stop()
#initclip1
functionTentacleClass()
{
this.numNodes=27;
this.head=2+random(4);
this.girth=8+random(12);
this.speedCoefficient=9.000000E-002+random(10)/50;
this.friction=9.000000E-001+random(10)/100;
this.muscleRange=20+random(50);
this.muscleFreq=1.000000E-001+random(100)/250;
this.generateNodes();
this.onEnterFrame=this.move;
}//Endofthefunction
TentacleClass.prototype=newMovieClip();
TentacleClass.prototype.generateNodes=function()
{
this.node=newArray();
varn=0;
while(n<this.numNodes)
{
varpoint={x:0,y:0};
this.node.push(point);
++n;
}//endwhile
};
TentacleClass.prototype.move=function()
{
this.tv=this.tv+5.000000E-001*(Math.random()-Math.random());
this.theta=this.theta+this.tv;
this.tv=this.tv*this.friction;
this.node[0].x=this.head*Math.cos(1.745329E-002*this.theta);
this.node[0].y=this.head*Math.sin(1.745329E-002*this.theta);
this.count=this.count+this.muscleFreq;
this.thetaMuscle=this.muscleRange*Math.sin(this.count);
this.node[1].x=-this.head*Math.cos(1.745329E-002*(this.theta+this.thetaMuscle));
this.node[1].y=-this.head*Math.sin(1.745329E-002*(this.theta+this.thetaMuscle));
vari=2;
while(i<this.numNodes)
{
vardx=this.node.x-this.node[i-2].x;
vardy=this.node.y-this.node[i-2].y;
vard=Math.sqrt(dx*dx+dy*dy);
this.node.x=this.node[i-1].x+dx*this.girth/d;
this.node.y=this.node[i-1].y+dy*this.girth/d;
if(i==2)
{
this._x=this._x-dx*this.speedCoefficient;
this._y=this._y-dy*this.speedCoefficient;
if(this._x+this._width<0 this._x-this._width>600 this._y+this._height<0 this._y-this._height>400)
{
--Object.environment.tents;
this.removeMovieClip();
}//endif
}//endif
++i;
}//endwhile
this.clear();
this.moveTo(this.node[1].x,this.node[1].y);
vari=2;
while(i<this.numNodes)
{
this.lineStyle(int(this.numNodes-i)*(this.numNodes-i)/20,16777215,100);
this.lineTo(this.node.x,this.node.y);
++i;
}//endwhile
};
Object.registerClass("tentacle",TentacleClass);
#endinitclip
Flash是一个非常优秀的矢量动画制作软件,它以流式控制技术和矢量技术为核心,制作的动画具有短小精悍的特点,所以被广泛应用于网页动画的设计中,以成为当前网页动画设计最为流行的软件之一。 |
|