描画メソッドでの Math クラスの使用
Flash Player 9 以降、Adobe AIR 1.0 以降
Graphics オブジェクトを使用して円や四角形を描画できますが、特に、その描画メソッドを Math クラスのプロパティやメソッドと組み合わせて使用すると、より複雑なフォームを描画することもできます。 Math クラスには、円周と円の直径の比を表す定数
Math.PI
(約 3.14159265...)など、一般的な数学定数があります。また、
Math.sin()
、
Math.cos()
、
Math.tan()
などの三角関数のメソッドも含まれます。これらのメソッドおよび定数を使用してシェイプを描画すると、特に繰り返しや再帰を使用した場合、より動的な視覚効果を作成できます。
Math クラスの多くのメソッドでは、角度の単位に度ではなくラジアンを使用します。 Math クラスは、これら 2 種類の単位間の変換によく使用されます。
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);
}
|
|
|