import PuzzleController; import sistema.ExtendedMultiTimer; import ExtendedSound; class GestorPuzzle { public var controlador:PuzzleController; public var puzzles:Array; public var currentPuzzle:Number=0; public var onPuzzleEnd:Function; public function GestorPuzzle(controladorPuzzle:PuzzleController) { this.puzzles = Array(); this.controlador = controladorPuzzle; controladorPuzzle.gestor = this; } public function setContador(contador) { this.controlador.contador = contador; } public function reproduceSonido() { var sonido = this.puzzles[this.currentPuzzle][3]; sonido.start(); } public function terminasonido() { var sonido=new Sound(); sonido.stop(); } public function startNextPuzzle() { this.startPuzzle(this.currentPuzzle+1); } public function startMismoPuzzle() { this.startPuzzle(this.currentPuzzle); } public function setPuzzle(pos:Number,fichasAlto:Number,fichasAncho:Number, imagen:String,idsonido:String,control:Number) { //esta función inicializa los parámetros del array puzzle var objSonido = new ExtendedSound(); objSonido.attachSound(idsonido); objSonido.gestor = this; this.puzzles[pos] = Array(fichasAlto,fichasAncho,imagen,objSonido,control); } public function getImagen(pos:Number) { return this.puzzles[pos][2]; } public function startPuzzle(pos:Number) { var dimX = this.puzzles[pos][0]; var dimY = this.puzzles[pos][1]; var imagen = this.puzzles[pos][2]; var sonido = this.puzzles[pos][3]; var control=this.puzzles[pos][4]; var i:Number; var inicio:Number ; var superanivel:Number=0; _root.Barra.boton_impresora._alpha=50; _root.Barra.boton_impresora.enabled=false; if(pos >= this.puzzles.length) { this.onPuzzleEnd(); } else { // se comprueba si se cambia de nivel, para emitir el sonido de // cambio de nivel. if ((pos==3) || (pos==6)) { inicio=pos-3; this.puzzles[0][4]=1; for (i=inicio;i