将 Math 类与绘制方法配合使用

Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本

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); 
}