package sketchbook.generators
{
import sketchbook.generators.Generator;
/**
* 乱数を出力するジェネレーター
*
*
乱数は-1~1の間を取り、amplitude, offsetプロパティによって補正されます。
* RandomGeneratorのとる値は以下の式で表されます。
*
* value = (-1~1) * amplitude + offset
*
* @example
* var generator:IGenerator = new RandomGenerator(10, 5);
* trace( generator.value ) //random value between -5 to 15
*
*/
public class RandomGenerator extends Generator
{
public var amplitude:Number;
public var offset:Number;
/**
* -1 ~ 1の間の乱数を返すGeneratorです。
*
* 乱数の値はamplitude, offsetプロパティによって補正され、以下の式で示す範囲をとります。
*
* @example value = (-1~1) * amplitude + offset
*
* @param amplitude 増幅値。この値が乱数に乗算される。
* @param offset オフセット。この値が乱数に加算される。
*/
public function RandomGenerator(amplitude:Number, offset:Number)
{
this.amplitude = amplitude
this.offset = offset
updateValue()
}
override public function clone():IGenerator
{
return new RandomGenerator(amplitude, offset)
}
override protected function updateValue():void
{
//ここ_differenceを作って効率化すること
_value = (Math.random() *2-1)* amplitude + offset
}
}
}