文章出處
在這個教程中,將學習如何創建數字落下的動畫。
演示:
1、新建Flash文件,屬性設置: 400 × 400 ,背景黑色,幀頻30。圖1
2、選文本工具,創建一個動態的文本。輸入數字 1。
3、在屬性面板中為實例命名 " myText" 。設定字號為 15 ,顏色#00ff00。圖2:
4、按字符嵌入按鈕,嵌入字符集。設置如圖3:
5、把本文轉換成 影片剪輯 。命名為 " numberInsideMC" 。將注冊點設定為左上角。圖4:
6、在屬性面板中為實例命名 " numberInside" 。圖5:
7、把 " numberInsideMC" 再次轉換成影片剪輯。 提供新的影片剪輯名字 " myNumberMC" 。將注冊點設定為左上角。圖6:
8、按Ctrl+L組合鍵,打開庫面板,右鍵單擊 " myNumberMC" 選屬性(CS4、CS3為鏈接)作類的綁定,鏈接名為 " BitNumber" 。圖7:
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、完工,測試你的影片。
歡迎轉載:http://www.kanwencang.com/bangong/20161116/54393.html
文章列表
全站熱搜