Muchas gracias Gustavo, estoy totalmente de acuerdo contigo en lo de la gestión de flujo por código, pero es que yo lo había intentado antes y me había dado problemas. Me he dado cuenta que uno de los problemas era una estupidez como poner el goto al fotograma 0 que NO EXISTE....aaahhhggg. La maldita manía de los programadores con el 0, que nos lo han metido con calzador para los arrays, y luego los metemos hasta en la sopa sin darnos cuenta.
Tu código va de lujo, es parecido a lo que tenia yo antes, pero sin MovieClipLoader, y con otra diferencia, y es que yo no puedo cargar cada banner cada vez que se muestra. Yo hago una carga inicial y luego el problema de sincronización me viene con los movieclips ya cargados, porque con la comprobación de _currentframe == _totalframes no sé por qué pero se come el último fotograma del banner. Si queréis hacer la prueba haceros un banner con 10 fotogramas (banner1), en cada uno poned un campo de texto que ponga el número de fotograma, copiad este banner y cambiadle el fondo para que sea el banner2. Copiaros este código siguiente, poned en el flash del rotatorio una velocidad de 1 fotograma por segundo y veréis que al llegar al fotograma 9 del banner pasa automáticamente al siguiente banner, sin mostrar el fotograma 10 del banner. Esto no es muy problemático si los banners tienen una velocidad normal, pero yo estaba haciendo pruebas con 1 fotograma por segundo y lo he descubierto. //************************ INICIALIZACIÓN ****************************** var i:Number=0; // Identificador numérico para movernos de un MC a otro var lista:Array; // Lista de películas de MovieClips que se cargarán var listaMC:Array; // Lista con los objetos MC para poder acceder a ellos lista = new Array("Images/prueba1.swf","Images/prueba2.swf"); listaMC = new Array(lista.length); //************************ FUNCIONES ************************************ function cargaInicial(){ for (var x:Number=0; x<lista.length; x++){ createEmptyMovieClip("banner"+x, x+5); listaMC[x] = _root["banner"+x]; loadMovie(lista[x], listaMC[x]._name); listaMC[x]._alpha = 0; listaMC[x].stop(); } //Coloco el banner primero para mostrarlo listaMC[0]._alpha = 100; listaMC[0].gotoAndPlay(1); } function compFin(){ // Compruebo si ha llegado al fin del banner if(_root["banner"+i]._currentframe == _root["banner"+i]._totalframes){ _root["banner"+i]._alpha=0; _root["banner"+i].stop(); cambiaBanner(); } } function cambiaBanner(){ // Cambio de banner adelantando el contador o volviendo al 0 i = (i+1)%lista.length; _root["banner"+i]._alpha=100; _root["banner"+i].gotoAndPlay(1); } //************************ ACCIONES DEL FOTOGRAMA *************************** cargaInicial(); this.onEnterFrame = function(){ compFin(); } ----------------------------------------------------- ASNativos www.5dms.com subscripciones/desubscripciones http://asnativos.5dms.com -----------------------------------------------------