Los objetos Graphics pueden dibujar círculos y cuadrados, aunque también pueden trazar formas más complejas, en especial cuando los métodos de dibujo se utilizan junto con las propiedades y métodos de la clase Math. La clase Math contiene constantes comunes de tipo matemático, como
Math.PI
(aproximadamente 3,14159265...), una constante que expresa la proporción entre el perímetro de un círculo y su diámetro. Asimismo, contiene métodos de funciones trigonométricas, como
Math.sin()
,
Math.cos()
y
Math.tan()
entre otros. Cuando se dibujan formas utilizando estos métodos y constantes se crean efectos visuales de mayor dinamismo, especialmente si se usan junto con mecanismos de repetición o recursión.
En muchos métodos de la clase Math es necesario que las unidades empleadas en las medidas circulares sean radianes en lugar de grados. La conversión entre estos dos tipos de unidades es uno de los usos más frecuentes de la clase Math:
var degrees = 121;
var radians = degrees * Math.PI / 180;
trace(radians) // 2.111848394913139
El siguiente ejemplo crea una onda de seno y una onda de coseno para poner de manifiesto la diferencia entre los métodos
Math.sin()
y
Math.cos()
para un valor dado.
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);
}