来一发Flash AS教程:蝌蚪摆尾动画-Flash actionscript
网页设计者使用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.x=this.head*Math.cos(1.745329E-002*this.theta);
this.node.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.x=-this.head*Math.cos(1.745329E-002*(this.theta+this.thetaMuscle));
this.node.y=-this.head*Math.sin(1.745329E-002*(this.theta+this.thetaMuscle));
vari=2;
while(i<this.numNodes)
{
vardx=this.node.x-this.node.x;
vardy=this.node.y-this.node.y;
vard=Math.sqrt(dx*dx+dy*dy);
this.node.x=this.node.x+dx*this.girth/d;
this.node.y=this.node.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.x,this.node.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是一个非常优秀的矢量动画制作软件,它以流式控制技术和矢量技术为核心,制作的动画具有短小精悍的特点,所以被广泛应用于网页动画的设计中,以成为当前网页动画设计最为流行的软件之一。 Flash插件的最新版本允许设计者控制Box之外的元素和把Flash元素放在HTML或其它元素上面或下面,这就为交互性打开了一个崭新的世界。 随着动画的日益发展壮大,动画片在世界范围影响里越来越大,广告、网页、电影各个方面都应用到了动画。 FLASH网站建设的页面非常美观,互动性很强。在企业网站中,FLASH动画作用主要在于突出企业品牌的效应,彰显企业形象的实力。 动画广告相对于传统广告而言,它的优势在于不受时间、地点等条件限制,可以通过动画的形式将那些复杂又抽象的广告内容更加简单化、生动形象化。 在Web上只好把动画做得很小。即使最简单的动画也需要较长的下载时间。Flash的流技术和矢量图形对这种情况做了改变。 富媒体广告的概念:富媒体 Rich Media,是由英文翻译而来,从字面上很难理解Rich Media到底是什么。 对插件的批评之一是他们一般出现在称为Box的网页的一个预定的区域。虽然在某种情况下表现不错,但Box经常以罪魁祸首的面目出现。 alpha通道,图像的一部分可以变成透明,透明度可以从完全不透明到完全不可见。Alpha通道支持没有副作用。
页:
[1]