Animaties met de teken-API
Flash Player 9 of hoger, Adobe AIR 1.0 of hoger
Een voordeel van het maken van inhoud met de teken-API is dat u zich niet hoeft te beperken tot het eenmalig plaatsen van de inhoud. Wat u tekent, kan worden aangepast door de variabelen die u gebruikt bij het tekenen te onderhouden en aan te passen. U kunt een animatie overbrengen door de variabelen te wijzigen en opnieuw te tekenen, gedurende een periode van frames of met een timer.
De volgende code wijzigt bijvoorbeeld de weergave bij elk doorgegeven frame (door naar de gebeurtenis
Event.ENTER_FRAME
te luisteren), waarbij de huidige gradentelling toeneemt, en laat het object graphics wissen en met de bijgewerkte positie opnieuw tekenen.
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;
}
U kunt een heel ander resultaat produceren door te experimenteren met het wijzigen van de beginwaarden voor de variabelen aan het begin van de code (
currentDegrees
,
radius
en
satelliteRadius
). U kunt bijvoorbeeld proberen de radiusvariabele te verkleinen en/of de variabele totalSatellites te verhogen. Dit is slechts één voorbeeld van hoe de teken-API een visuele weergave kan creëren waarbij de complexiteit de eenvoud van de creatie verbergt.
|
|
|