分享

AS3.0制作逼真的喷泉动画详细教程

 kairry 2016-11-21
前言:网络中这个教程已经有了,但是教程写得都不尽详细,尤其是AS3.0脚本语句,在本地电脑中导出的swf影片不能正常显示播放,因此就给Flash初学者和刚刚接触AS3.0的人们造成了很大的困惑,也因此我运用网络中的这段AS3.0代码写下了本教程,希望大家都能学会运用这个逼真的喷泉特效代码。

 

先看效果演示:

 



    制作方法:

    一、启动Flash软件,建立AS3.0文档,舞台大小默认,颜色为黑的(我用的是Flash CC,用Flash cs4cs5cs6制作方法是同样的)


    二、下载一张适合制作喷泉效果的背景图片导入到库,并且重命名为“背景图片”;再下载一张带有喷泉设备的图片导入到库,并且在Flash中把图片中的喷泉设备抠图(抠图方法我就不再这里罗嗦了),转换为图形元件,命名为“喷泉设备”。


    在这里我把我所用的图片素材提供给大家来练习使用:


背景图片


AS3.0制作逼真的喷泉动画详细教程

 

喷泉设备


AS3.0制作逼真的喷泉动画详细教程

(已经抠好的透明PNG图片,直接导入Flash软件中即可使用)

三、制作水滴元件:

    1、新建名称为“水滴”影片剪辑元件,该编辑区内点选时间轴第一帧,选取椭圆工具,在舞台上画出一个2X6像素的无边、白色、椭圆,并把这个画好的小椭圆移动到舞台的大致左上方位置(位置是代码中数据决定的),见图1


AS3.0制作逼真的喷泉动画详细教程

(图1

 

    2、打开库面板,右键单击库中该影片剪辑元件-属性,打开属性面板,见图2


AS3.0制作逼真的喷泉动画详细教程

(图2

 

    3、点击“高级”按钮,打开属性链接面板,填写其“类”为:pall,然后点击“确定”按钮完成设置,所有设置见图3

 

AS3.0制作逼真的喷泉动画详细教程

(图3

 4新建元件,类型:影片剪辑,命名为:AS,在该影片剪辑编辑区内,点选时间轴第一帧,打开动作面板,复制粘贴下方完整的AS3.0脚本语句,粘贴好后返回主场景;

 

var count:int = 2000;

var zl:Number = 0.8;

var balls:Array;

balls = new Array();

for (var i:int = 5; i < count; i++) {

var ball:pall = new pall();

ball.x = 275;

ball.y = 300;

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

ball["vy"] = Math.random() * -10 - 10;

addChild(ball);

balls.push(ball);

addEventListener(Event.ENTER_FRAME, onEnterFrame);

function onEnterFrame(event:Event):void {

for (var i:Number = 5; i < balls.length; i++) {

var ball:pall = pall(balls[i]);

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 = 275;

ball.y = 300;

ball["vx"]= Math.random() * 8 - 4;

ball["vy"] = Math.random() * -10 - 10;

}

}

}

}

 

    四、组织场景:

    1、主场景中共建立三个图层,图层1重命名为“背景”、图层2重命名为“喷泉设备”、图层3重命名为“AS”见图4


AS3.0制作逼真的喷泉动画详细教程

(图4

 

    2、点选背景图层第一帧,把库面板中背景图片拖上舞台,调整大小和舞台同样,做全居中,锁定该图层;


    3、点选喷泉设备图层第一帧,把库面板中喷泉设备图形元件拖上舞台,调整好你所需要的大小和位置,锁定该图层;


    4、点选AS图层第一帧,把库中AS影片剪辑拖上舞台,打开属性面板,调整该元件的透明度为50%,(如果背景图片亮度高,可设置为70、或80%,如果是夜景图片,可设置为30%),该图层先不要上锁,因为还要调整喷水的位置;


    5、测试影片看水的位置后,框选舞台上小白点,用键盘上的方向键调整位置,直到把水的位置和喷泉设备的位置调整吻合为止;


    五、代码中几个关键数据的解释与修改:

    1、代码中第一行中的数字“2000;”,是喷泉喷出水珠的数量,数字越大,喷出的水珠就越多,可根据自己制作的场景来修改水珠的数量。


    2、代码中倒数第六行(倒数四个大括号上边第二行)中的ball["vx"]= Math.random() * 8 - 4;其中的数字“8 - 4”,前边的“8”是喷水范围的宽度,数字越大喷水的范围越宽,数字越小,喷水的范围越窄;后边的“4”是喷水的方向,数字越大喷水方向越向左,数字越小喷水方向越向右;


    3、代码中倒数第五行(倒数四个大括号上边第一行)中的ball["vy"] = Math.random() * -10 - 10;其中的数字“10 - 10”,都是调整喷水的高度的,数字越大水喷得越高,数字越小水喷得越低,调整时两个数字最好相同。


    代码中其他数字就没有调整的必要了,根据自己制作的场景调整好这三组数据后作品就完工了,最后看效果吧。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多