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