package sketchbook.generators { /* 複数の波形を合成して新しい波形を作るGenerator * * @example * var generator1:IGenerator = new SineGenerator(5,5); * var generator2:IGenerator = new SquareGenerator(10,0); * var compGenerator:IGenerator = new CompositeGenerator( [generator1, generator2], 1, 0 ); * * trace(compGenerator.value) //合成した波を返す * trace(compGenerator.update()); * */ public class CompositeGenerator extends Generator { public var amplitude:Number public var offset:Number protected var _generators:Array /** * 複数の波形を合成して新しい波形を作るGenerator * * @param generators 合成するIGenerator配列 * @param amplitude 増幅値 * @param offset 補正値 */ public function CompositeGenerator(generators:Array, amplitude:Number=1, offset:Number=0) { this.amplitude = amplitude this.offset = offset _generators = new Array(); var imax:int = generators.length for(var i:int=0; i