Tengo una galeria de imagenes que se cargan desde un archivo xml , cuando la publico dentro del programa flash todo funciona y carga correctametne las imágenes, pero cuando abro el archivo swf generado, las imágenes no aparecen, los otros componentes del flash, ya no entiendo nada y necesito ayuda urgentemente. gracias
Os adjunto el código 
// acciones en fotograma 1
this._lockroot = true; 
stop();
 
//salida  Esta es mi película principal;
System.useCodepage = true;
XML.prototype.ignoreWhite = true;
import mx.transitions.Tween;
// separacion-> distancia entre las imágenes
// tanto horizontal como vertical
var separacion:Number = 116;
// vbles para pasar de página
var pagina_actual:Number = 1;
var num_paginas:Number;
// array donde metemos los elementos del XML
var IMG_array:Array;
// objeto XML que carga la lista de miniaturas
var miniaturasXML:XML = new XML();
miniaturasXML.onLoad = mostrarMiniaturas;
miniaturasXML.load("verMiniaturas.xml");
// funcion que se ejecuta al cargar el XML
function mostrarMiniaturas():Void {
	// contadores de columna y fila para
	// disponer las miniaturas
	var fila:Number = 1;
	var col:Number = 0;
	// paso los datos del XML al array
	IMG_array = this.firstChild.childNodes;
 
	// saber el núm de páginas necesarias para
	// mostrar todas las fotos
	num_paginas = Math.ceil(IMG_array.length/3);
	// creo el clip donde meteremos todas las miniaturas
	var lienzo:MovieClip =createEmptyMovieClip("lienzo_miniaturas", getNextHighestDepth());
	// lo posiciono donde nos conviene
	lienzo._x =351;
	lienzo._y = 10;
	// y lo enmascaro con el clip situado en la
	// capa mascara. se enmascara para hacer el deslizamiento del
	// clip cuando tengamos muchas miniaturas y no entren todas a
	// la vez en pantalla (nuestro caso)
	lienzo.setMask(mascara_mc);
	// recorro el array que contiene la lista con los nombres de
	// los archivos de las miniaturas e invoco la función crearMiniatura
	// que es la que carga la imagen, la recoloca, le pone un pequeño
	// marco y le asigna las acciones para verla ampliada
	for (var k:Number = 0; IMG_array[k]; k++) {
		// extraigo la ruta del archivo de imagen
		//var ruta:String = "minis/"+IMG_array[k].attributes.nombre;
		// como sólo tengo tres columnas, cuando llegue a
		// la tercera, avanzo una fila y retorno a la primera
		//if (col>2) {
			//col = 0;
			//fila++;
		//}
// creo la miniatura. extraigo la ruta del archivo de imagen
// y la paso como tercer parámetro
	crearMiniatura(col, fila, IMG_array[k].attributes.nombre);
	col++;
	}
}
 
function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) {
	// bajo_clip es el clip que contendrá el marco de la miniatura
	var bajo_clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("bajo_"+fil  aF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
	// clip contendrá la imagen
	var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+fil  aF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
	// para cargar la miniatura definimos un objeto MovieClipLoader
	// y un objeto detector de eventos
	var mi_mcl:MovieClipLoader = new MovieClipLoader();
	var miListener:Object = new Object();
	mi_mcl.addListener(miListener);
	clip.valor = "";
	// cargamos la imagen
	mi_mcl.loadClip("/minis/bones.jpg", clip);
	miListener.onLoadStart = function(target_mc:MovieClip) {
	// cuando comienza la carga de la imagen
	// ponemos al _alpha a 0
	target_mc._alpha = 100;
	};
 
	miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
		// aquí podéis poner acciones para mostrar una precarga,
		// este caso no lo hemos considerado oportuno
	};
	// cuando ya se ha completado la carga y tenemos disponible el clip
 
	miListener.onLoadInit = function(target_mc:MovieClip) {
		// recolocamos la imagen (todavía está oculta, con _alpha=0)
		target_mc._x = (separacion*columnaF)+(100-target_mc._width)*0.5;
		target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5;
		// recolocamos el marco que rodea a la foto
		bajo_clip._x = target_mc._x-5;
		bajo_clip._y = target_mc._y-5;
		// dibujamos el marco
		with (bajo_clip) {
			beginFill(0xffffff);
			lineStyle(1, 0xEEEEEE, 100);
			lineTo(target_mc._width+10, 0);
			lineTo(target_mc._width+10, target_mc._height+10);
			lineTo(0, target_mc._height+10);
			lineTo(0, 0);
			endFill();
		}
		// al pinchar sobre el área del marco,
		// mostramos la foto grande con la función
		// verFotoGrande
		bajo_clip.onRelease = function() {
			verFotoGrande(ruta);
		};
	// muestro la miniatura animando el _alpha hasta 100
	var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
	};
}
 
function verFotoGrande(ruta:String) {
	clearInterval(intervaloColor);
	// creo el clip donde irá la foto grande en una profundidad fija
	// para que se reemplace cada vez que pincho en una miniatura
	var grande:MovieClip = createEmptyMovieClip("grande_mc", 2*IMG_array.length+11);
	// igual con el clip que contendrá el marco
	var bajo_grande:MovieClip =createEmptyMovieClip("bajo_grande_mc", 2*IMG_array.length+10);
	// posición vertical fija
	grande._y = 150;
	// para cargar la foto grande definimos otro objeto MovieClipLoader
	// y otro objeto detector de eventos
	var grande_mcl:MovieClipLoader = new MovieClipLoader();
	var grandeListener:Object = new Object();
	grande_mcl.addListener(grandeListener);
	// cargo la foto grande
	grande_mcl.loadClip("/originales/"+ruta, grande);
	grandeListener.onLoadStart = function(target_mc:MovieClip) {
		// aplico una transformación de color que deja el clip
		// tintado de blanco
		myColor = new Color(target_mc);
		myColorTransform = new Object();
		myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
		myColor.setTransform(myColorTransform);
	};
	grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
		// aquí podéis poner acciones para mostrar una precarga,
		// este caso no lo hemos considerado oportuno
	};
	grandeListener.onLoadInit = function(target_mc:MovieClip) {
		// recolocamos la imagen (todavía está oculta)
		target_mc._x =32+Math.round((315-target_mc._width)*0.5);
		// recolocamos el marco que rodea a la foto grande
		bajo_grande._x = target_mc._x-5;
		bajo_grande._y = target_mc._y-5;
		// dibujamos el marco
		with (bajo_grande) {
			beginFill(0xffffff);
			lineStyle(1, 0xEEEEEE, 100);
			lineTo(target_mc._width+10, 0);
			lineTo(target_mc._width+10, target_mc._height+10);
			lineTo(0, target_mc._height+10);
			lineTo(0, 0);
			endFill();
		}
		// con estas rutinas hacemos la transición de color desde el blanco
		var indiceColor:Number = 255;
		intervaloColor = setInterval(cambiarColor, 10);
		function cambiarColor() {
			myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
			myColor.setTransform(myColorTransform);
			indiceColor -= 2;
			if (indiceColor == -1) {
				clearInterval(intervaloColor);
			}
		}
	};
}
// con esta función desplazo el lienzo de las miniaturas para
// pasar de página
 // con esta función desplazo el lienzo de las miniaturas para
// pasar de página
function moverLienzo(posX:Number):Void {
	var myTween:Tween = new Tween(lienzo_miniaturas, "_x", mx.transitions.easing.Regular.easeOut, lienzo_miniaturas._x, posX, 1, true);
}
// deshabilito de inicio el botón de volver atrás
// ya que se muestra la página 1
pMenos_btn.enabled = false;
pMenos_btn._alpha = 30;
 
////////////////////este es el codigo de los botones
on (release) {
	// activo el botón página-
	pMenos_btn.enabled = true;
	pMenos_btn._alpha = 100;
	moverLienzo(100-(pagina_actual*351));
	pagina_actual++;
	// si llego a la última página
	// ya no puedo avanzar, por tanto
	// deshabilito el botón
	if (pagina_actual == num_paginas) {
		pMas_btn.enabled = false;
		pMas_btn._alpha = 30;
	}
}
on (release) {
	// activo el botón página+
	pMas_btn.enabled = true;
	pMas_btn._alpha = 100;
	moverLienzo(100-(pagina_actual-2)*351);
	pagina_actual--;
	// si llego a la primera página
	// ya no puedo retroceder, por tanto
	// deshabilito el botón
	if (pagina_actual == 1) {
		pMenos_btn.enabled = false;
		pMenos_btn._alpha = 30;
	}
} 
   
 

