论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

FLASH AS3制作数字下落的效果

文章类别:Flash AS | 发表日期:2010-3-2 9:00:07

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

演示:


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、完工,测试你的影片。

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058