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