使用繪圖 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 如何建立一個看起來複雜,實則非常容易建立的視覺顯示效果,做單一範例說明。
|
|
|