FLASH方塊動畫特效制作_第1頁
FLASH方塊動畫特效制作_第2頁
FLASH方塊動畫特效制作_第3頁
FLASH方塊動畫特效制作_第4頁
FLASH方塊動畫特效制作_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——FLASH方塊動畫特效制作

效果如下:

1.新建一個flashActionscript3大小為500300px,背景黑色。

2.在場景里,使用矩形工具(G),設置邊框寬3px;畫一個正方形大小個4040px;

3.將這個正方形上點右鍵,轉換元件(為電影剪輯);注冊設置為中心;

4.選擇元件,右鍵鏈接;設置類為MyBox;

5.回到場景中刪除正方形;新建一個Actionscript文件并輸入下面代碼:

package{

importflash.display.MovieClip;

publicclassMyBoxextendsMovieClip{

//這是方塊的3d坐標

publicvarxpos3D:Number=0;

publicvarypos3D:Number=0;

publicvarzpos3D:Number=0;

publicfunctionMyBox(){

}

}

}

另存為MyBox.as,注意存在flash文件的同一路徑內,

6.返回主場景,在第一幀中插入以下代碼:

//立體場景縱深

constMAXIMUM_Z:Number=500;

//方塊數量

constNUMBER_OF_BOXES:Number=15;

//創(chuàng)立一個包含方塊的數組;

varboxes:Array=newArray();

//視圖焦距設置

varfocalLength:Number=300;

//Vanishingpoint是方塊消失點;

varvanishingPointX:Number=stage.stageWidth/2;

varvanishingPointY:Number=20;

//3D方塊底邊位置

varfloor:Number=80;

//第一個方塊深度

varstartingDepth:Number=MAXIMUM_Z;

//盒子之間的z距離值

varzDistance:Number=50;

//這個循環(huán)為由遠到近的方塊定位

for(vari=0;ilt;NUMBER_OF_BOXES;i++){

varbox:MyBox=newMyBox();

box.xpos3D=0;

box.ypos3D=floor;

box.zpos3D=startingDepth;

//更新方塊的深度;

startingDepth-=zDistance;

//使用角度公式計算縮放比例;

varscaleRatio=focalLength/(focalLength+box.zpos3D);

//縮放坐標比例;

box.scaleX=box.scaleY=scaleRatio;

//將方塊定位到場景中(由3d到2d轉換)

box.x=vanishingPointX+box.xpos3D*scaleRatio;

box.y=vanishingPointY+box.ypos3D*scaleRatio;

//將方塊放入數組

boxes.push(box);

//將方塊參與場景

addChild(box);

}

在菜單中選擇調試測試場景效果如下:

7.在以上代碼后插入如下代碼,用于產生動畫;

//用ENTER_FRAME事件參與動畫函數

addEventListener(Event.ENTER_FRAME,enterFrameHandler);

//每一幀都調用這個函數

functionenterFrameHandler(e:Event):void{

for(vari=0;ilt;NUMBER_OF_BOXES;i++){

//將box變?yōu)榫植孔兞?/p>

varbox:MyBox=(MyBox)(boxes[i]);

//減少深度

box.zpos3D-=5;

if(box.zpos3Dlt;=-focalLength){

//最終方塊始終在數組第一位

box.zpos3D=boxes[0].zpos3D+zDistance;

}

varscaleRatio=focalLength/(focalLength+box.zpos3D);

box.scaleX=box.scaleY=scaleRatio;

//設置透明度變量

box.alpha=scaleRatio-0.5;

box.x=vanishingPointX+box.xpos3D*scaleRatio;

box.y=vanishingPointY+box.ypos3D*scaleRatio;

}

//根據深度排列數組

sortZ();

}

//這個函數使方塊正確排列

functionsortZ():void{

boxes.sortOn(zpos3D,Array.NUMER

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論