Uma vantagem da criação de conteúdo com a API de desenho é que você não está limitado a posicionar o conteúdo apenas uma vez. O que você desenha pode ser modificado pela manutenção e modificação das variáveis que usa ao desenhar. Você pode transmitir a animação alterando as variáveis e redesenhando, em um período de quadros ou com um temporizador.
Por exemplo, o código a seguir altera a exibição com cada quadro transmitido (atendendo ao evento
Event.ENTER_FRAME
), incrementando a contagem de graus atual, direciona o objeto graphics para limpar e redesenhar na posição atualizada.
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;
}
Para produzir um resultado significativamente diferente, você pode modificar as variáveis base iniciais no início do código,
currentDegrees
,
radius
e
satelliteRadius
. Por exemplo, tente reduzir a variável radius e/ou aumentar a variável totalSatellites. Esse é apenas um exemplo de como a API de desenho pode criar uma exibição visual cuja complexidade oculta a simplicidade de sua criação.