搭配繪圖方法使用 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); 
}