当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > AS3实例教程:制作数码下落的动画特效

ActionScript
FLASH AS3与网页JS参数值传递的问题
Flash AS3的parameters对象处理网页参数
Flash教程 认识Flash ActionScript的环境
Flash ActionScript编程基础
Flash AS3代码实现鼠标跟随喷枪涂鸦效果
falsh 跨域调用配置
Flash AS3.0 实例教程 喷泉动画特效
AS3 Loader与URLLoader的比较
ColorTransform类调整显示对象的颜色值
Flash AS3 快速制作烟雾动画
Flash AS3 制作文字飞出动画
ActionScript 学习小心得
ActionScript3.0读取网页FlashVars中的参数的问题
通过实例学习AS3.0:案例三
通过实例学习Flash AS3.0:案例四
通过实例学习Flash AS3.0:案例五
通过实例学习Flash AS3.0:案例六
Flash教程:认识Flash ActionScript的环境
Flash as入门(1):认识AS面板
Flash as入门(3):AS基本语法

ActionScript 中的 AS3实例教程:制作数码下落的动画特效


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-03-20   浏览: 190 ::
收藏到网摘: n/a

在这个教程中,将学习如何创建数字落下的动画。

演示:


1、新建Flash文件,属性设置: 400 × 400 ,背景黑色,帧频30。图1
sshot-1.png
2、选文本工具,创建一个动态的文本。输入数字 1。

3、在属性面板中为实例命名 " myText" 。设定字号为 15 ,颜色#00ff00。图2:

sshot-2.png
4、按字符嵌入按钮,嵌入字符集。设置如图3:
sshot-3.png
5、把本文转换成 影片剪辑 。命名为 " numberInsideMC" 。将注册点设定为左上角。图4:
sshot-4.png
6、在属性面板中为实例命名 " numberInside" 。图5:
sshot-5.png
7、把 " numberInsideMC" 再次转换成影片剪辑。 提供新的影片剪辑名字 " myNumberMC" 。将注册点设定为左上角。图6:
sshot-6.png
8、按Ctrl+L组合键,打开库面板,右键单击 " myNumberMC" 选属性(CS4、CS3为链接)作类的绑定,链接名为 " BitNumber" 。图7:
sshot-7.png
9、新建图层,改名 as 层,选中第1帧,输入下列代码:


//This array will contain all the numbers seen on stage

var numbers:Array = new Array();



//We want 8 rows

for (var i=0; i < 8; i++) {



        //We want 21 columns

        for (var j=0; j < 21; j++) {



                //Create a new BitNumber

                var myNumber:BitNumber = new BitNumber();



                //Assign a starting position

                myNumber.x = myNumber.width * j;

                myNumber.y = myNumber.height * i;



                //Give it a random speed (2-7 pixels per frame)

                myNumber.speedY = Math.random() * 5 + 2;



                //Add the number to the stage

                addChild (myNumber);



                //Add the number to the array

                numbers.push (myNumber);



        }

}



//Add ENTER_FRAME so we can animate the numbers (move them down)

addEventListener (Event.ENTER_FRAME, enterFrameHandler);



/*

This function is repsonsible for moving the numbers down the stage.

The alpha animation is done inside of the myNumberMC movieclip.

*/

function enterFrameHandler (e:Event):void {



        //Loop through the numbers

        for (var i = 0; i < numbers.length; i++) {



                //Update the y position

                numbers[i].y += numbers[i].speedY;



                //If the BitNumber is below the stage, move it up again

                if (numbers[i].y > stage.stageHeight) {

                        numbers[i].y = 0;

                }

        }

}
10、双击舞台上的 myNumberMC 影片剪辑,进入myNumberMC编辑状态,添加as图层,选中第1帧,输入代码:


//This variable tells us should we increase the alpha

var increaseAlpha:Boolean;



//We want the number to be invisible at the beginning

numberInside.alpha = 0;



//Calculate a random timer delay (how often we increase the alpha)

var timerDelay:Number = Math.random() * 4000 + 2000;



//Create and start a timer

var timer:Timer = new Timer(timerDelay, 0);

timer.addEventListener (TimerEvent.TIMER, timerHandler);

timer.start ();



//Add ENTER_FRAME so we can animate the alpha change

addEventListener (Event.ENTER_FRAME, enterFrameHandler);



/* 

Timer calls this function.

Timer delay defines how often this is called.

*/

function timerHandler (e:Event):void {



        //Update the increaseAlpha value

        increaseAlpha = true;



        //Calculate a random number (0 or 1)

        var newNumber:int = Math.floor(Math.random() * 2);



        //If the random number is 1, we insert "1" into the text box

        if (newNumber == 1) {

                numberInside.myText.text = "1";

        }

        //Else we insert "0" into the text box

        else {

                numberInside.myText.text = "0";

        }

}



//This function animates the alpha

function enterFrameHandler (e:Event):void {



        //Increase the alpha if increaseAlpha is true

        if (increaseAlpha == true) {

                numberInside.alpha += 0.02;

        }



        //Else we want to decrease the alpha

        else {

                numberInside.alpha -= 0.02;

        }



        //We don’t want the alpha to be over one, so we assign increaseAlpha to be false

        if (numberInside.alpha > 1) {

                increaseAlpha = false;

        }

        //If the alpha is negative, set it to zero

        if(numberInside.alpha < 0) {

                numberInside.alpha = 0;

        }

}
11、切换回场景1,把 myNumberMC 影片剪辑从舞台上删除。

12、完工,测试你的影片。