下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

FLASH如何实现“逼真”的喷泉效果

作者:课课家教育     来源: http://www.kokojia.com点击数:1244发布时间: 2016-09-07 08:00:20

标签: 影片剪辑元件FLASH放射填充

想学设计?来看看大师是如何完成作品的?

  喷泉可以说是一道美丽的风景线,在很多的地方都可以看到。小编在不开心的时候,就很喜欢去看喷泉,看着水珠喷射的过程,就像是把心里的不开心都释放出来。但是大家知道怎样使用flash这款软件实现“逼真”的喷泉效果吗?下面小编就带大家分析一下喷泉是怎样形成的吧。

FLASH如何实现“逼真”的喷泉效果_舞台_FLASH_向量_课课家

  小编先为大家介绍利用速度向量和重置对象的技巧来实现“逼真”的喷泉效果。大家知道向量是什么吗?如果是作为一名理科生,这个问题应该难不倒大家的,毕竟物理还是有学到向量的。其实所谓向量,就是有方向的量。小编在这里举个例子说明,比如:有一辆车在公路上行驶,汽车是从东向西以80公里每小时的速度行驶的,那么这样子我们就可以得到汽车的速度向量。这里的速度向量包括了两个元素,分别是速度和方向。然而,速度:每个小时80公里;方向:由东向西。

  1.效果产生方法

  其实喷泉是由若干个水珠向上喷射,然后又受到了重力的影响掉回到地面。那么大家知道这个过程的速度向量有哪些,具体又是怎么的呢?其实会很容易就发现了至少的两个力,一个是使水珠向上喷射的外力,一个是使水珠掉回地面的重力。哈哈,这又是一个物理知识。

  ①外力的速度向量

  速度的话,小编在这里设置为10-20之间的随机数,方向是向上的,那就一定是y轴上的负数了。我们将这个速度向量加到水珠上,那样就可以使水珠向上喷射了。

  至于具体的做法就是:在ENTER_FRAME事件中,这水珠的y值加上-10到-20间的一个随机数。

  ②重力的速度向量

  速度就比较小了,小编在这里设置为0.5,方向则是y轴上的正值。

  具体的做法就是:也是同样的道理,加到ENTER_FRAME事件中,这样水珠在喷射以后就会掉回地上。

  这里还有一个问题就是:因为速度向量就是加在ENTER_FRAME事件中的,水珠就有可能一直按着这些速度向量运动,面远离舞台,那喷泉就不知会喷到什么地方去了。

  如果我们要解决这个问题,就要将超出舞台边界的水珠重新定位到喷射口,这样就可以形成了不间断的喷射了。

  2.制作过程

  第一步

  首先我们要画一个水珠,打开软件新建一个影片剪辑元件,然后用放射填充的工具画出一个椭圆,左色标为白色,透明度设置为100%,右色标略带一点灰色,透明度设置为50%。接下来,我们就要设置椭圆的大小。在属性面板中,设置椭圆在宽为2像素,高为5像素。在库中右击该元件,打开连接窗口,(如果版本是cs4打开属性窗口),设置一个类名,小编在这里设的是pall。

  第二步

  接下来我们回到主场景,打开帧动作面板来写代码。代码的方法具体如下:

  ①喷泉是由若干个水珠形成的,至于是多少呢?我想没有人会知道吧,那就大家自己随意设置个数字吧。小编在这里整了500个:varcount:int=500;

  ②重力速度向量:varzl:Number=0.5;

  ③将这500个水珠放到一个数组中:

将这500个水珠放到一个数组中

  ④然后用一个for循环来将500个水珠放到数组中:

然后用一个for循环来将500个水珠放到数组中

  ⑤将水珠定位到水珠的喷射口:

将水珠定位到水珠的喷射口

  ⑥在x轴方向我们也设一个速度向量,使得水珠在x轴的一定范围内,并且将这个速度向量存到每个水珠的自定义属性vx中:

  ball["vx"]=Math.random()*2-1;

  ⑦下面是y轴方向的速度向量,并且将它存在自定义属性vy中:ball["vy"]=Math.random()*-10-10;

  ⑧将水珠放到舞台上,并存到数组中:

将水珠放到舞台上,并存到数组中

  ⑨接下来侦听ENTER_FRAME事件,这是用来实现喷泉效果:

  addEventListener(Event.ENTER_FRAME,onEnterFrame);

  onEnterFrame函数内容:

  ⑩通过一个for循环为数组中的水珠加上各个速度向量:

通过一个for循环为数组中的水珠加上各个速度向量

  ⑪首选在喷射速度向量上加上重力速度向量,这样的话,每一帧的时间就会加一次重力,而喷射力却没有改变,这样的重力就会因为逐渐超过喷射力面从而使水珠下落:ball["vy"]+=zl;

  ⑫将x,y轴速度向量加到水珠上面:

将x,y轴速度向量加到水珠上面

  ⑬接下来我们就要看水珠是否超出了舞台,如果真的是超出了舞台,那么就要将水珠重新定位到喷射口,并且将速度向量设置为初始状态。代码如图所示:

FLASH如何实现“逼真”的喷泉效果_重力_FLASH_向量_课课家

  ⑭小编在这里附上完整的代码,大家可以参考一下。如图所示:

完整代码1完整代码2

  小编总结:

  相信通过这个教程,我们已经学习到使用flash这款软件实现“逼真”的喷泉效果。小编想说,Flash还可以开发出很多很有趣的东西,这个就需要我们不断的摸索。只要按照以上的教程,我们就可以打造出“逼真”的喷泉效果,是不是感觉非常的简单?想要了解更多详细内容可进入课课家的课程视频教学哦,希望这个教程大家会喜欢!

赞(1)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程