La cuestión es la siguiente: hay 2 movieclips, uno con el nombre de instancia "holder" (donde se carga el SWF externo) y uno con el nombre de instancia "loader" (donde se muestra el porcentaje que se ha cargado del SWF). Según el tutorial, se debe usar un cuadrado de fondo en el movieclip "holder" pero yo no puedo usarlo debido a que entorpecería mi diseño. El problema es, que el SWF empieza a correr en el "holder" antes de que el porcentaje en el "loader" de 100%, entonces, como por 1 minuto, se ve el SWF corriendo con el porcentaje encima. Obviamente, no se ve bien, yo quiero que el SWF aparezca cuando se haya cargado el 100% y no antes.
Este es el código que estoy usando:
Código ActionScript :
stop(); //////No presten atención a esto, esto son los rollovers y rollouts de los botones. function over() { this.gotoAndPlay ("in") } function out() { this.gotoAndPlay ("out") } bt_belle.onRollOver = over bt_belle.onRollOut = out bt_bauhaus.onRollOver = over bt_bauhaus.onRollOut = out bt_artdeco.onRollOver = over bt_artdeco.onRollOut = out bt_popart.onRollOver = over bt_popart.onRollOut = out bt_home.onRollOver = function() { tellTarget ("over_home") { gotoAndPlay("in"); } } bt_home.onRollOut = function() { tellTarget ("over_home") { gotoAndPlay("out"); } } /////////AQUI ESTÁ EL CÓDIGO CON EL PROBLEMA //BELLE EPOQUE BUTTON var mclO:MovieClipLoader = new MovieClipLoader(); var mclLO:Object = new Object(); mclLO.onLoadProgress = function(target,loaded,total) { loaderO.percentO.text = Math.round((loaded/total) * 100) + "%"; loaderO.barO._width = (loaded/total) * 200; } mclLO.onLoadInit = function() { loaderG._visible = false; loaderO._visible = false; loaderO.percentO.text = ""; } holder._visible = false; loaderO._visible = false; loaderO.percentO.text = "" loaderG._visible = false; loaderG.percentO.text = "" mclO.addListener(mclLO); bt_belle.onRelease = function() { loaderG._visible = false; loaderO._visible = true; mclO.loadClip("belle.swf",holder); } //BAUHAUS BUTTON var mclG:MovieClipLoader = new MovieClipLoader(); var mclLG:Object = new Object(); mclLG.onLoadProgress = function(target,loaded,total) { loaderG.percentG.text = Math.round((loaded/total) * 100) + "%"; loaderG.barG._width = (loaded/total) * 200; } mclLG.onLoadInit = function() { loaderO._visible = false; loaderG._visible = false; loaderG.percentG.text = ""; } holder._visible = false; loaderO._visible = false; loaderO.percentO.text = "" loaderG._visible = false; loaderG.percentO.text = "" mclG.addListener(mclLG); bt_bauhaus.onRelease = function() { loaderO._visible = false; loaderG._visible = true; mclG.loadClip("bauhaus.swf",holder); }
Yo modifiqué el código del tutorial un poquito para lograr lo que quería, le agregué la barra de porcentaje y también debo repertirlo con cada botón porque quiero que el porcentaje y la barra se muestren del color de cada botón que se ha presionado. Es decir, cuando le dan al botón naranja, quiero que la barra y el porcentaje se vean naranja y así.
Subí el trabajo a esta dirección: http://pruebarq.hostei.com/ para que vean el problema. Es una prueba así que no esperen nada sensacional jaja. Los notones que funcionan son "belle époque" y "bauhaus", si de dan hit a uno, verán como empieza el porcentaje y que cuando va como por 55% el SWF aparece debajo y el conteo continua encima. Se ve muy mal y es lo que quiero evitar.
Si hacen rollover en el texto "másdelomismo" van a ver porque no puedo usar un cuadro negro de background para el "loader", y si le dan hit pueden detener el audio.. aunque vuelve a empezar cuando la animación hace loop (discúlpenme esa).
Ojalá puedan ayudarme. Muchas gracias.
____
PD: Otra cosa que quiero hacer (y esto no es tan importante, me importa muuuuuuuucho más lo de arriba) es que cuando se le de hit a un botón, se quede en el último frame del rollover. Es decir, si le dan hit a "belle époque" que se quede naranja, en lugar de hacer el rollout cuando se mueve el puntero como hace ahorita.