С помощью объекта Graphics можно создавать круги и квадраты, а также и более сложные фигуры, в особенности когда методы рисования используются в сочетании со свойствами и методами класса Math. Класс Math содержит обычные математические константы, такие как
Math.PI
(приблизительно 3,14159265...), константа, используемая для обозначения соотношения длины окружности круга и его диаметра. Этот класс также содержит методы для тригонометрических функций, например
Math.sin()
,
Math.cos()
,
Math.tan()
и другие. Рисование фигур с помощью этих методов и констант создает более динамичные визуальные эффекты, особенно при повторении или рекурсии.
Для многих методов класса Math измерения круглых фигур предполагаются в радианах, а не в градусах. Преобразование между этими двумя единицами измерения является стандартным использованием класса Math:
var degrees = 121;
var radians = degrees * Math.PI / 180;
trace(radians) // 2.111848394913139
В следующем примере, иллюстрирующем различие методов
Math.sin()
и
Math.cos()
для одинакового значения, показано создание синусоидальной и косинусоидальной волн.
var sinWavePosition = 100;
var cosWavePosition = 200;
var sinWaveColor:uint = 0xFF0000;
var cosWaveColor:uint = 0x00FF00;
var waveMultiplier:Number = 10;
var waveStretcher:Number = 5;
var i:uint;
for(i = 1; i < stage.stageWidth; i++)
{
var sinPosY:Number = Math.sin(i / waveStretcher) * waveMultiplier;
var cosPosY:Number = Math.cos(i / waveStretcher) * waveMultiplier;
graphics.beginFill(sinWaveColor);
graphics.drawRect(i, sinWavePosition + sinPosY, 2, 2);
graphics.beginFill(cosWaveColor);
graphics.drawRect(i, cosWavePosition + cosPosY, 2, 2);
}