Al final si me dejo :) estos de ya.com me tiene hasta los cojones con tanto cambio de router demas gilipolleces ----- Original Message ----- From: "Fobiaxx" <[EMAIL PROTECTED]> To: "Lista dedicada a Actionscript" <asnativos@5dms.com> Sent: Monday, December 04, 2006 11:16 PM Subject: Re: [ASNativos] detectar archivo swf
Siento mandartelo a tu correo personal pero no me deja enviarlo a lista, Espero que te sirva. El parsear un XML no es lo mio, pero yo utilizaria la clase MOVIECLIPLOADER para saber el momento justo de carga. <code> /***************************************** Con este codigo precargaras cualquier imagen o MC que tengas despues del parseo de tu XML. Hay mas eventos, pero solo utilizaremos 2: - onLoadProgress, se dispara mientras se esta cargando tu MC. Hay es donde metes tu barra de precarga - onLoadComplete, cuando se termina la carga y se visualiza el MC. OJO, yo pondria aqui la historia de bajar el volumen. *****************************************/ var carga:MovieClipLoader = new MovieClipLoader(); var orejas:Object = new Object(); orejas.onLoadProgress = function(target_mc, loadedBytes, totalBytes) { // Por si quieres hacer una precarga de los MC var porcentajeCarga:Number; porcentajeCarga = (loadedBytes*100)/totalBytes; }; orejas.onLoadComplete = function(target_mc) { bajar(imagenes.firstChild.childNodes[record].attributes.ruta); // Bajamos el Volumen dependiendo del archivo. VER FUNCION MAS ABAJO }; carga_mcl.addListener(orejas); </code> Luego retocamos tu codigo para poder utilizarlo. <code> /*********************************** Este clip lo creo dinamicamente pq lo utilizaremos de contenedor para la carga de tus imágenes createEmptyMovieClip(NOMBRE DEL CLIP, PROFUNDIDAD DE ESTE EN TU PELI); ***********************************/ var record:Number = 0 // Inicializo tu variable record y le doy valor inicial var total:Number // Inicializo tu variable total, pero no le doy valor. var clip_mc:Movieclip = this.createEmptyMovieClip("vacio_mc", this.getNextHighestDepth()); // Creo el container clip_mc._x = 0; // Posicionas este clip en la posicion X que necesites clip_mc._y = 0; // Posicionas este clip en la posicion Y que necesites var imagenes:XML = new XML(); imagenes.ignoreWhite = true; imagenes.onLoad = function(exito) { if (exito) { /************************************ Aqui lo que hago es en el contenedor que hemos creado antes inserto un nuevo MC en el punto 0,0 y cargo dentro de el la imagen o MC que quieras cargar. Mas que nada para luego poder cargamelo cuando carguemos. A este clip no le damos posicion x,y pq ya se lo dimos al contenedor principal. ************************************/ var imagen_mc:MovieClip = clip_mc.createEmptyMovieClip("count_mc", 0); /*********************************** Cargamos la ruta parseada en el clip que acabamos de crear ***********************************/ record++; total = this.firstChild.childNodes.length; var parseo:String = this.firstChild.childNodes[record].attributes.ruta; carga_mcl.loadClip("fotos/luna_vtn/"+parseo , imagen_mc); } } imagenes.load("fotos/luna_vtn/luna.xml"); // Yo siempre aconsejo poner el metodo LOAD despues del evento ONLOAD siguiente.onRelease = function() { if (this._parent.record >= this._parent.total) { this._parent.record = 0; gotoAndStop(1); } else { this._parent.record ++; } /************************************ En vez de cargar otra vez el XML, lo que debes de hacer es llamar al XML que creaste al principio. ************************************/ var imagen_mc:MovieClip = this._parent.clip_mc.createEmptyMovieClip("count"+this._parent.clip_mc.getNextHighestDepth()+"_mc", this._parent.clip_mc.getNextHighestDepth()); var parseo:String = this._parent.imagenes.firstChild.childNodes[this._parent.record].attributes.ruta; this._parent.carga_mcl.loadClip("fotos/luna_vtn/"+parseo , imagen_mc); }; // Con esta funcion comprobamos el archivo a insertar y lo bajamos dependiendo de la extension que tenga function bajar(cadena:String):void{ var str:String = cadena.substr(cadena.lastIndexOf(".")); if(str=='swf'){ // El sonido es 0 } else { // El sonido es 100; } } </code> Evidentemente, habra muchas maneras mejores de hacerlo. Pero bueno, una facil y rapida es esta. Puerde haber errores de codigo, pq lo escribi directamente despe aqui y no lo he testado en flash. Un saludo. ----------------------------------------------------- ASNativos www.5dms.com subscripciones/desubscripciones http://asnativos.5dms.com ----------------------------------------------------- ----------------------------------------------------- ASNativos www.5dms.com subscripciones/desubscripciones http://asnativos.5dms.com -----------------------------------------------------