使用繪圖 API 來建立動畫

Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本

使用繪圖 API 來建立內容的其中一項好處,就是您可以隨時移動內容位置。您可以維護並修改用來繪圖的變數,任意修改您的繪圖。您可以變更變數並在一段影格上或是透過計時器來重新繪製,以加上動畫。

例如,下列程式碼將隨著每個通過的影格變更顯示 (方法是偵聽 Event.ENTER_FRAME 事件)、遞增目前的角度計數,最後指引圖像物件清除繪圖,並在更新的位置上重新繪圖。

stage.frameRate = 31; 
 
var currentDegrees:Number = 0; 
var radius:Number = 40; 
var satelliteRadius:Number = 6; 
 
var container:Sprite = new Sprite(); 
container.x = stage.stageWidth / 2; 
container.y = stage.stageHeight / 2; 
addChild(container); 
var satellite:Shape = new Shape(); 
container.addChild(satellite); 
 
addEventListener(Event.ENTER_FRAME, doEveryFrame); 
 
function doEveryFrame(event:Event):void 
{ 
    currentDegrees += 4; 
    var radians:Number = getRadians(currentDegrees); 
    var posX:Number = Math.sin(radians) * radius; 
    var posY:Number = Math.cos(radians) * radius; 
    satellite.graphics.clear(); 
    satellite.graphics.beginFill(0); 
    satellite.graphics.drawCircle(posX, posY, satelliteRadius); 
} 
function getRadians(degrees:Number):Number 
{ 
return degrees * Math.PI / 180; 
}

若要產生明顯不同的結果,可以多方嘗試修改程式碼開頭的初始 seed 變數 ( currentDegrees radius ,和 satelliteRadius )。例如,您可以嘗試縮減 radius 變數,並且/或是增加 totalSatellites 變數。上述僅就繪圖 API 如何建立一個看起來複雜,實則非常容易建立的視覺顯示效果,做單一範例說明。