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

Responder a