Creo que YA me funciona. Estaba copiando el código aquí debajo y he probado a poner el clearInterval del que me hablais los dos como primera sentencia del slideShow. Creo que ahora todo va bien. QUÉ ALEGRÍA!!!
Os copio el código commentado: hay muchas cosas que creo que no sirven; son ñapas que he ido metiendo en mis múltiples intentos de arreglar esto. var indiceXML:Number; //nodo del xml que debe leer var delay:Number = 5000; //delay entre fotos var delayInicial:Number = 300; // delay de la primera foto var nFotos:Number = 0; // número de fotos a mostrar var total:Number = 8; //número máximo de fotos en xml var p:Number = 0; //indice de la foto actual var inicial:Boolean ; // indica primera foto. var visorCerrado:Boolean = true; //boolean que indica que no se debe mostrar visor // cuando se cierra la ventana donde está el visor se llama a esta función. La puse con la intención de introducir el delete y parar asi el onEnterFrame cuando acabemos de ver el detalle. function esconderVisor(){ //delete this.onEnterFrame ; //si descomento esto. no se ven las fotos visorCerrado = true ; picture._visible = false ; } // FUNCIÓN QUE LLAMAMOS CUANDO LE DAMOS A MOSTRAR DETALLE. LA PUSE SÓLO PARA INICIALIZAR VARIABLES function inicializarVisor(indice:Number){ image = [] ; imagen = [] ; total = 8 ; nFotos = 0 ; p = 0 ; inicial = true ; indiceXML = 0 ; preloader._visible = false ; picture.unloadMovie() ; picture._visible = false ; if (indice != -1){ llamarVisor(indice) } } function llamarVisor(indice:Number){ trace("loadvisor"+indice) indiceXML = indice; xmlData = new XML(); xmlData.ignoreWhite = true; xmlData.onLoad = loadXML; trace("vuelvo a cargar visor"); xmlData.load("promocionesTerminadas.xml"); } function loadXML(loaded) { if (loaded) { var imagen:Array = xmlData.firstChild.childNodes; var ruta = "fotos_promociones/"; //CARGA XML: FUNCIONA BIEN for (var i=0; i<total; i++) { if (imagen[indiceXML].childNodes[i+4].firstChild.nodeValue != undefined){ image[i] = ruta+imagen[indiceXML].childNodes[i+4].firstChild.nodeValue; trace("imagen"+image[i]) } nFotos = image.length; } slideshow(); } else { content = "file not loaded!"; } } this.onEnterFrame = function() { if (!visorCerrado){ filesize = picture.getBytesTotal(); loaded = picture.getBytesLoaded(); if (loaded != filesize) { preloader.preload_bar._xscale = 100*loaded/filesize; } else { preloader._visible = false; if (!inicial){ if (picture._alpha<100) { picture._alpha += 3; } } } } } function nextImage() { if (p< (nFotos-1)) { if (loaded == filesize) { picture._alpha = 0; picture.loadMovie(image[p], 1); trace("ahora p es:"+p) p++; visorCerrado = false; slideshow(); } picture._visible = true; } } function slideshow() { // ESTO ES LO QUE HE PUESTO NUEVO!!!!!!!!! clearInterval(myInterval); if (inicial){ myInterval = setInterval(pause_slideshow, delayInicial); inicial = false; }else{ myInterval = setInterval(pause_slideshow, delay); } function pause_slideshow() { clearInterval(myInterval); updateAfterEvent(); if (p == nFotos-1) { p = 0; } nextImage(); } } Creo que ya va bien. Os lo agradezco no sabéis cuánto. El día 17/12/07, maria garcia <[EMAIL PROTECTED]> escribió: > > muchas gracias. > > voy a intentar responder esas cuestiones que planteais y ver si puedo > aclarar más la situación del visor. De momento, utilizo el clearInterval. El > onEnterFrame creo que (copié el código del visor de alguna parte y lo he > modificado poco) sirve fundamentalmente para que la foto aparezca y > desaparezca poco a poco con un alpha. > > if (picture._alpha <100){ > picture._alpha +=3; > } > > También probé el visor sin el onEnterFrame y los desajustes seguían > existiendo. La carga del xml está bien hecha. > > Voy a intentar responder vuestras preguntas a ver si con ello me aclaro un > poco. > > Muchas gracias de nuevo > > > El día 17/12/07, maria garcia <[EMAIL PROTECTED]> escribió: > > > > Hola de nuevo, > > > > voy a intentar explicar el problema para ver si tenéis respuesta. > > Gracias, Raúl, por contestar. > > > > El visor que me da problemas aparece en una ventana nueva cada vez que > > le doy al detalle de una lista de promociones inmobiliarias que tengo en la > > ventana principal. Es decir, muestro una lista de promociones y si clicas al > > detalle se abre una nueva ventana en la que muestro por una lado información > > de texto y por otro un visor con las imágenes asociadas a la promoción que > > cargo desde un xml cada vez que entro. > > > > El funcionamiento del visor es bien sencillo: la imagen de desvanece y > > aparece la siguiente; los tiempos los controlo con un setInterval. Hay un > > onEnterFrame que me parece es la clave de todo el desajuste. > > > > La primera vez que accedo a un detalle el visor funciona correctamente. > > El problema viene en los sucesivos accesos a detelles de otras promociones. > > El visor entonces se desincroniza, la frecuencia de muestra se desajusta, el > > orden de las fotos que cargo desde xml se altera, etc...Supongo que esto es > > debido a que el onEnterFrame no se para nunca. Entonces he probado: > > > > - delete this.onEnterFrame una vez cierro la ventana del detalle donde > > está el visor: con esto lo único que consigo es no ver más las imágenes. El > > movieclip del visor está en el escenario, no lo creo con createEmpty > > MovieClip. > > > > - this.onEnterFrame=null también dejo de ver las imágenes. > > > > - updateAfterEvent en la función donde utilizo setInterval: no consigo > > nada. Las imágenes se ven pero no aprecio mejora alguna en cuanto a los > > desajustes. > > > > Bueno, esto es todo. No sé si quedó claro. > > > > Muchas gracias > > > > > > > > > > El día 17/12/07, maria garcia <[EMAIL PROTECTED] > escribió: > > > > > > hola gente!!! > > > > > > Estoy desesperada con un visor action script que no consigo > > > sincronizar de ninguna manera. He buscado ayuda varias veces pero > > > finalmente > > > no funciona correctamente. La cuestión es que tengo que entregar el > > > trabajo > > > ya y todavia no lo tengo funcionando. Supongo que para alguien que > > > controle > > > de verdad el tema no será más que una chorrada. ¿Alguien acepta encargos > > > de > > > este tipo (remunerados económicamente)? o, ¿sabéis dónde de podría > > > conseguir > > > alguien que lo hiciera? > > > > > > Teléfono de contacto: ´651313503 > > > > > > Mil gracias > > > > > > > > ----------------------------------------------------- ASNativos www.5dms.com subscripciones/desubscripciones http://asnativos.5dms.com -----------------------------------------------------