Zastosowanie klasy Math z metodami rysującymiFlash Player 9 i nowsze wersje, Adobe AIR 1.0 i nowsze wersje Obiekt Graphics rysuje koła i prostokąty, ale umożliwia również uzyskiwanie bardziej złożonych form, zwłaszcza gdy razem z metodami rysującymi użyjemy właściwości i metod klasy Math. Klasa Math zawiera typowe stałe matematyczne, takie jak Math.PI (w przybliżeniu 3,14159265...), czyli stały stosunek obwodu koła do jego średnicy. Zawiera również metody trygonometryczne, takie jak Math.sin(), Math.cos() o Math.tan(), oraz szereg innych. Rysując kształty przy użyciu tych metod i stałych, można uzyskać bardziej dynamiczne efekty wizualne, zwłaszcza w powiązaniu z technikami powtórzeń i rekurencji. W wielu metodach klasy Math kąty należy podawać w radianach, a nie w stopniach. Przeliczanie tych jednostek należy do typowych zastosowań klasy Math: var degrees = 121; var radians = degrees * Math.PI / 180; trace(radians) // 2.111848394913139 Poniższy przykładowy kod tworzy sinusoidę w celu zilustrowania różnicy między wynikami działania metod Math.sin() i Math.cos() dla tych samych parametrów. 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);
}
|
|