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