Animacja przy użyciu rysunkowego interfejsu API

Flash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje

Jedną z zalet tworzenia treści przy użyciu rysunkowego interfejsu API jest łatwość powielania elementów. Każda rysowana forma może być zmodyfikowana poprzez zmianę wartości zmiennych ją opisujących. Modyfikując wartości zmiennych i ponownie rysując elementy, można uzyskać animację synchronizowaną kolejnymi klatkami lub licznikiem czasu.

Na przykład poniższy kod zmienia wyświetlany obraz w każdej kolejnej klatce (wykrywając zdarzenie Event.ENTER_FRAME ). Zmiana polega na inkrementacji bieżącej liczby stopni i nakazaniu obiektowi graficznemu wyczyszczenia, a następnie narysowania się w nowym miejscu.

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; 
}

Modyfikacja wartości zmiennych currentDegrees , radius i satelliteRadius na początku kodu umożliwia uzyskanie radykalnie odmiennych efektów. Spróbujmy na przykład zmniejszyć promień (radius) i/lub zwiększyć wartość zmiennej totalSatellites. Jest to jedynie przykład zastosowania rysunkowego interfejsu API do uzyskania efektów wizualnych, które są zaskakująco wyrafinowane, jeśli wziąć pod uwagę, jak prosto się je tworzy.