Анимирование с помощью 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; } Для получения существенно отличающихся результатов можно поэкспериментировать, изменяя исходные переменные в начале кода: currentDegrees, radius и satelliteRadius. Например, попробуйте уменьшить переменную radius и/или увеличить переменную totalSatellites. Это только один из примеров, демонстрирующий, как API рисования упрощает процесс создания сложных визуальных объектов отображения. |
|