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
-----------------------------------------------------

Responder a