简单生活 发表于 2015-1-15 20:46:21

来讲讲:FlashAS3.0实例教程:喷泉动画殊效-Flash实例教程

占用硬盘空间少,所以被广泛应用于游戏、网络视频、网站广告、交互设计等。
poluoluo中心提醒:这个Flash教程将使用AS3.0的速率向量和重置工具的技能来完成喷泉效果。
  先看效果演示:
http://www.poluoluo.com/files/media/1_090512072141.swf
  在这个实例教程中,我们将先容使用速率向量和重置工具的技能来完成喷泉效果。所谓向量就是无方向的量。好比一辆车从东向西以80千米每小时的速率行驶,那末我们就能够失掉汽车的速率向量,它包含两个元素:速率,每小时80千米,偏向,由东向西。
  上面我们来剖析一下喷泉是如何构成的。
  喷泉是多少个水珠向上放射,然后又受重力影响失落回空中。这个历程的速率向量有哪些,详细又是怎样的呢?很简单发明最少的两个力,一个是使水珠向上放射的外力,一个是使水珠失落回空中的重力。
  外力的速率向量:速率我设为10-20间的随机数,偏向是向上的那就必定是y轴上的正数了。将这个速率向量加到水珠上就使水珠向上放射了。
  详细做法是:在ENTER_FRAME事务中这水珠的y值加上-10到-20间的一个随机数。
  重力的速率向量:速率就对照小了我设为0.5,偏向则是y轴上的正值。一样加到ENTER_FRAME事务中,如许水珠在放射后就会失落回地上。
  另有个成绩,由于速率向量是加在ENTER_FRAME事务中的,水珠便可能一向按这些速率向量活动,面阔别舞台,那喷泉就不知会喷到甚么中央往了。
  要办理这个成绩,就要将超越舞台界限的水珠从头定位到放射口,如许就构成了不中断的放射了。
  好了,下面剖析了效果发生办法,上面就来制造。
  第一步是要画一个水珠,新建一个影片剪辑元件,用放射添补画一个椭圆,左色标为红色,通明度100%,右色标略带点灰色,通明度50%。在属性面板中设置椭圆在宽为2像素,高为5像素。在库中右击该元件,翻开毗连窗口,(cs4翻开属性窗口),设置一个类名,我设的是pall。
  接上去回到主场景,翻开帧举措面板,我们来写代码。
  喷泉是由多少水珠构成的,几呢?我整了500个:
  varcount:int=500;
  重力速率向量:
  varzl:Number=0.5;
  将这500个水珠放到一个数组中:
  varballs:Array;
  balls=newArray();
  用一个for轮回来将500个水珠放到数组中:
  for(vari:int=0;i<count;i++){
  varball:pall=newpall();
  将水珠定位到水珠的放射口:
  ball.x=260;
  ball.y=200;
  在x轴偏向也设一个速率向量,使水珠在x轴的必定局限内,并将这个速率向量存到每一个水珠的自界说属性vx中:
  ball["vx"]=Math.random()*2-1;
  上面是y轴偏向的速率向量,将它存在自界说属性vy中:
  ball["vy"]=Math.random()*-10-10;
  将水珠放到舞台上,并存到数组中:
  addChild(ball);
  balls.push(ball);
  接上去侦听ENTER_FRAME事务,完成喷泉效果:
  addEventListener(Event.ENTER_FRAME,onEnterFrame);
  onEnterFrame函数内容:
  经由过程一个for轮回为数组中的水珠加上各个速率向量:
  for(vari:Number=0;i<balls.length;i++){
  varball:pall=pall(balls);
  首选在放射速率向量上加上重力速率向量,如许每帧的工夫就会加一次重力,而放射力却没变,如许重力就会渐渐凌驾放射力面使水珠下跌:
  ball["vy"]+=zl;
  将x,y轴速率向量加到水珠上:
  ball.x+=ball["vx"];
  ball.y+=ball["vy"];
  接上去的是看水珠是不是超越了舞台,假如超越了舞台,则将水珠从头定位到放射口,并将速率向量设为初始形态。
  if(ball.x-ball.width/2>stage.stageWidth||
  ball.x+ball.width/2<0||
  ball.y-ball.width/2>stage.stageHeight||
  ball.y+ball.width/2<0){
  ball.x=260;
  ball.y=200;
  ball["vx"]=Math.random()*2-1;
  ball["vy"]=Math.random()*-10-10;
  完全代码:
varcount:int=500;varzl:Number=0.5;
varballs:Array;
balls=newArray();
for(vari:int=0;i<count;i++){
varball:pall=newpall();
ball.x=260;
ball.y=200;
ball["vx"]=Math.random()*2-1;
ball["vy"]=Math.random()*-10-10;
addChild(ball);
balls.push(ball);
}
addEventListener(Event.ENTER_FRAME,onEnterFrame);
functiononEnterFrame(event:Event):void{
for(vari:Number=0;i<balls.length;i++){
varball:pall=pall(balls);
ball["vy"]+=zl;
ball.x+=ball["vx"];
ball.y+=ball["vy"];
if(ball.x-ball.width/2>stage.stageWidth||
ball.x+ball.width/2<0||
ball.y-ball.width/2>stage.stageHeight||
ball.y+ball.width/2<0){
ball.x=260;
ball.y=200;
ball["vx"]=Math.random()*2-1;
ball["vy"]=Math.random()*-10-10;
}
}
}
用flash动画制作软件制作的动画文件很小,这样便于在互联网上传输,而且它采用了流技术,只要下载一部分,就能欣赏动画,而且能一边播放一边传输送数据。

灵魂腐蚀 发表于 2015-1-17 14:14:31

只要用心只要努力在加上你无限的创意和想象。FLASH无敌了

爱飞 发表于 2015-1-30 10:15:12

传播上的优势——无国界跨媒体;创作群体的形成;媒体及比赛的推进

莫相离 发表于 2015-2-6 10:23:46

FLASH网站建设的页面非常美观,互动性很强。在企业网站中,FLASH动画作用主要在于突出企业品牌的效应,彰显企业形象的实力。

精灵巫婆 发表于 2015-2-16 00:28:44

对插件的批评之一是他们一般出现在称为Box的网页的一个预定的区域。虽然在某种情况下表现不错,但Box经常以罪魁祸首的面目出现。

若相依 发表于 2015-3-4 20:14:14

不过,要说国内在FLASH动画领域做的比较出色的,公认的是广州形动数码科技。

admin 发表于 2015-3-11 20:54:36

FLASH的优点~你用眼睛所看到的东西~都能用它来实现~一点不夸张~高楼大厦-花草树木-高山流水-天空白云-阿猫阿狗-一切活的东西都可以容入到FLASH里面

第二个灵魂 发表于 2015-3-19 14:07:41

时间期限本身就是一个优点,因为它可以让你确定一个祯率。电视每秒刷新屏幕30次,电影每秒刷新屏幕24次。Flash的祯率是可变的。

海妖 发表于 2015-3-28 21:03:27

Flash流行的主要原因是它使用了矢量图形(与位图相反)。因为这种图形格式比位图小得多,而且在缩放时对图形质量影响不大,所以很适合对带宽要求很高的Web。
页: [1]
查看完整版本: 来讲讲:FlashAS3.0实例教程:喷泉动画殊效-Flash实例教程