|
您的位置: 首頁 > 網(wǎng)站資訊 > Adobe Flash CS4方塊外形的動(dòng)畫特效制作 |
Adobe Flash CS4方塊外形的動(dòng)畫特效制作發(fā)布日期:2017/3/14
在本教程中我們將會(huì)看到的是如何用adobe flash cs4制作一個(gè)方塊外形的動(dòng)畫的制作過程! 1.新建一個(gè)flash Actionscript 3 大小為500×300px,背景黑色。 2.在場(chǎng)景里,使用矩形工具(G),設(shè)置邊框?qū)?px;畫一個(gè)正方形大小個(gè)40×40px; 3.將這個(gè)正方形上點(diǎn)右鍵,轉(zhuǎn)換元件(為電影剪輯);注冊(cè)設(shè)置為中間; 4.選擇元件,右鍵>鏈接;設(shè)置類為MyBox; 5.回到場(chǎng)景中刪除正方形;新建一個(gè)Actionscript文件并輸入下面代碼: package { import flash.display.MovieClip; public class MyBox extends MovieClip { //這是方塊的3d坐標(biāo) public var xpos3D:Number = 0; public var ypos3D:Number = 0; public var zpos3D:Number = 0; public function MyBox() { } } } 另存為MyBox.as,注重存在flash文件的統(tǒng)一路徑內(nèi), 6.返回主場(chǎng)景,在幀中插入下列代碼: //立體場(chǎng)景縱深 const MAXIMUM_Z:Number = 500; //方塊數(shù)量 const NUMBER_OF_BOXES:Number = 15; //創(chuàng)建一個(gè)包含方塊的數(shù)組; var boxes:Array = new Array(); //視圖焦距設(shè)置 var focalLength:Number = 300; //Vanishingpoint是方塊消逝點(diǎn); var vanishingPointX:Number = stage.stageWidth / 2; var vanishingPointY:Number = 20; //3D方塊底邊位置 var floor:Number = 80; //個(gè)方塊深度 var startingDepth:Number = MAXIMUM_Z; //盒子之間的z距離值 var zDistance:Number = 50; //這個(gè)循環(huán)為由遠(yuǎn)到近的方塊定位 for (var i=0; i < NUMBER_OF_BOXES; i++) { var box:MyBox = new MyBox(); box.xpos3D = 0; box.ypos3D = floor; box.zpos3D = startingDepth; //更新方塊的深度; startingDepth -= zDistance; //使用角度公式計(jì)算縮放比例; var scaleRatio = focalLength/(focalLength + box.zpos3D); //縮放坐標(biāo)比例; box.scaleX=box.scaleY=scaleRatio; //將方塊定位到場(chǎng)景中(由3d到2d轉(zhuǎn)換) box.x=vanishingPointX+box.xpos3D*scaleRatio; box.y=vanishingPointY+box.ypos3D*scaleRatio; //將方塊放入數(shù)組 boxes.push(box); //將方塊加入場(chǎng)景 addChild(box); } 在菜單中選擇調(diào)試>測(cè)試場(chǎng)景效果如下: 7.在以上代碼后插入如下代碼,用于產(chǎn)生動(dòng)畫; //用ENTER_FRAME事件加入動(dòng)畫函數(shù) addEventListener(Event.ENTER_FRAME, enterFrameHandler); //每一幀都調(diào)用這個(gè)函數(shù) function enterFrameHandler(e:Event):void { for (var i=0; i < NUMBER_OF_BOXES; i++) { //將box變?yōu)榫植孔兞?/P> var box:MyBox = (MyBox)(boxes[i]); //削減深度 box.zpos3D-=5; if (box.zpos3D<=- focalLength) { //好后方塊始終在數(shù)組位 box.zpos3D=boxes[0].zpos3D+zDistance; } var scaleRatio = focalLength/(focalLength + box.zpos3D); box.scaleX=box.scaleY=scaleRatio; //設(shè)置透明度變量 box.alpha=scaleRatio-0.5; box.x=vanishingPointX+box.xpos3D*scaleRatio; box.y=vanishingPointY+box.ypos3D*scaleRatio; } //根據(jù)深度排列數(shù)組 sortZ(); } //這個(gè)函數(shù)使方塊準(zhǔn)確排列 function sortZ():void { boxes.sortOn("zpos3D", Array.NUMERICArray.DESCENDING); for (var i:uint = 0; i < NUMBER_OF_BOXES; i++) { setChildIndex(boxes[i], i); } } |
其他相關(guān)文章 |
|
|
|
||||||||
Copyright 2012-2025 上海蒙狼網(wǎng)絡(luò)科技有限公司 www.zcrhy.com.cn All Rights Reserved |