Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con MovieClipLoader

Estas en el tema de Problema con MovieClipLoader en el foro de Flash y Actionscript en Foros del Web. Hola gente de Foros del Web: Me decidi a escribirles porque hace días que estoy con un problema terminando una web que desarrolle y no ...
  #1 (permalink)  
Antiguo 25/04/2011, 09:08
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 1
Problema con MovieClipLoader

Hola gente de Foros del Web:
Me decidi a escribirles porque hace días que estoy con un problema terminando una web que desarrolle y no puedo darme cuenta que esta pasando. Tengo imágines externas con las cuales tengo que hacer una secuencia y las cargo con MovieClipLoader. El problema surge cuando las imagenes superan las 15, ahi se empieza a poner todo el proceso lento como trabado. Si un cierra y vuelve al menu y vuelve a entrar en galeria de fotos vuelve a empezar bien. Se ve claramente en Fotos Vinilo. Cuando las fotos son menos de 15 no hay problemas. No se que necesitan para poder ayudarme con este problema, la verdad me tiene desvelada y no entiendo si es que se carga demasiado en memoria o que... La web esta subida en http://www.bodychic.com.ar/chulo
El fla pesa 1700kb mas o menos y el swf 888kb. Tendre que sacar otras imagenes afuera del fla? Sera que es un fla grande? He visto muchos mas pesados... No entiendo que es lo que pasa. Ya probe cambiar la rutina de posicionamiento de la foto a ver si era eso, probe sacar el fade tambien y nada, sigue pasando lo mismo. A continuación les pongo los 3 frames donde se hace la carga de fotos: (Espero que por favor me puedan ayudar, tengo que entregar la web y es la primera vez que me pasa una cosa asi y estoy desconcertada):

Aca van los frames del movie clip que carga y muestras las fotos
-----------Frame 1----------------------
var Ancho = 632;
var Alto = 488.5;
var FinX = -514.54;
var FinY = -355.9;
var vel = 4;
var ancho = new Array();
var alto = new Array();
for (k=1; k<=100; k++){
ancho[k]=0;
alto[k]=0;
}

centrox=vercentro_mc._x-23;
centroy=vercentro_mc._y+41;
vercentro_mc._visible=false;



marcoh_mc._visible=false;

function agregarcero() {
if (i<10) {
numfoto="0"+i;
}
else {
numfoto=i;
}
};

function desactivar() {
fotovinilo_mc.enabled = false;
fotobanner_mc.enabled = false;
fotooffset_mc.enabled = false;
fotogiganto_mc.enabled = false;
fotoestampa_mc.enabled = false;
fotocorporeo_mc.enabled = false;
volver_mc._visible=false;
marcoh_mc._visible=true;
};
function activar() {
fotovinilo_mc.enabled = true;
fotobanner_mc.enabled = true;
fotooffset_mc.enabled = true;
fotogiganto_mc.enabled = true;
fotoestampa_mc.enabled = true;
fotocorporeo_mc.enabled = true;
marcoh_mc._visible=false;
volver_mc._visible=true;
sig_btn._x=2200;
sig_btn._y=2000;
ant_btn._x=2200;
ant_btn._y=2000;
fin_btn._x=2200;
fin_btn._y=2000;
};
function fotocentro(){
xfoto=(centrox-ancho[z])/2;
yfoto=(centroy-(alto[z])/2);
_root.mc_sitio.gal_mc["img"+z]._x=xfoto;
_root.mc_sitio.gal_mc["img"+z]._y=yfoto;
if (z == 1) {
fin_btn._y=marcoh_mc._y+marcoh_mc._height+5; //sig_btn._y;
fin_btn._x=marcoh_mc._x+(marcoh_mc._width)/2-19; //sig_btn._y;
sig_btn._x=marcoh_mc._x+(marcoh_mc._width)/2+45; //contenedor._x-20;
sig_btn._y=marcoh_mc._y+marcoh_mc._height+25; //contenedor._y;
ant_btn._x=marcoh_mc._x+(marcoh_mc._width)/2-45; //sig_btn._x+100;
ant_btn._y=marcoh_mc._y+marcoh_mc._height+25; //contenedor._y;
}
}

function ajustemarco(){
//Establecemos las variables, esta vez agregamos dos variables más para la posición horizontal y vertica, es decir, x e y
if (marcoh_mc._width < ancho[z]) {
agrandomarco();
}
else {
if ((ancho[z]<350) && (marcoh_mc._width>400)) {
achicomarco();
}
}
}

function achicomarco(){
var Ancho = 370;
var Alto = 488.5;
var FinX = -384.7;
var FinY = -355.9;
//creamos un enterframe para tener que ejecutar la funcion UNA SOLA vez
this.onEnterFrame = function() {
marcoh_mc._width += (Ancho-marcoh_mc._width)/vel;
ahora=marcoh_mc._width;
marcoh_mc._height += (Alto-marcoh_mc._height)/vel;
marcoh_mc._x += (FinX-marcoh_mc._x)/vel;
marcoh_mc._y += (FinY-marcoh_mc._y)/vel;
if (ahora<=Ancho) {
delete this.onEnterFrame;
}
}
};



function agrandomarco(){
var Ancho = 632;
var Alto = 488.5;
var FinX = -514.54;
var FinY = -355.9;
ahora=marcoh_mc._width;
//creamos un enterframe para tener que ejecutar la funcion UNA SOLA vez
this.onEnterFrame = function() {
marcoh_mc._width += (Ancho-marcoh_mc._width)/vel;
ahora=marcoh_mc._width;
marcoh_mc._height += (Alto-marcoh_mc._height)/vel;
marcoh_mc._x += (FinX-marcoh_mc._x)/vel;
marcoh_mc._y += (FinY-marcoh_mc._y)/vel;
if (ahora>=Ancho) {
delete this.onEnterFrame;
}
}
}

function FadeIn(Clip:MovieClip, Velocidad:Number) {
Clip._alpha = 0;
Clip.onEnterFrame = function () {
if (Clip._alpha < 100) {
Clip._alpha += Velocidad;
} else {
delete this.onEnterFrame;
}
}
}

function FadeOut(Clip:MovieClip, Velocidad:Number) {
Clip.onEnterFrame = function () {
if (Clip._alpha > 0) {
Clip._alpha -= Velocidad;;
} else {
delete this.onEnterFrame;

}
}
}



fotovinilo_mc.onPress=function(){
ruta="http://www.bodychic.com.ar/chulo/vinilo/vinilo ";
ext=".jpg";
total="15";
gotoAndPlay(2);
}
fotobanner_mc.onPress=function(){
ruta="http://www.bodychic.com.ar/chulo/banner/banner ";
ext=".jpg";
total="20";
gotoAndPlay(2);
}
fotooffset_mc.onPress=function(){
ruta="http://www.bodychic.com.ar/chulo/offset/offset ";
ext=".jpg";
total="6";
gotoAndPlay(2);
}
fotoestampa_mc.onPress=function(){
ruta="http://www.bodychic.com.ar/chulo/estampa/estampados ";
ext=".jpg";
total="6";
gotoAndPlay(2);
}
fotocorporeo_mc.onPress=function(){
ruta="http://www.bodychic.com.ar/chulo/corporeo/corporeo ";
ext=".jpg";
total="3";
gotoAndPlay(2);
}
fotogiganto_mc.onPress=function(){
ruta="http://www.bodychic.com.ar/chulo/giganto/gigantografia ";
ext=".jpg";
total="12";
gotoAndPlay(2);
}

stop();
--------------- Frame 2 --------------------------------
cargado=0;
desactivar();
//Fotos
myMCL = new MovieClipLoader(); //define MovieClipLoader

var oyente:Object = new Object();
oyente.onLoadInit = function(mc){
nombre=mc._name;
subind=nombre.substring(3)
//trace("cargando");
//trace(nombre);
//trace(subind);
ancho[subind] = mc._width;
alto[subind] = mc._height;
//trace(ancho[subind]);
cargado++;
//trace(cargado);
if (cargado == total) {
//trace("CARGO TODO");
gotoAndPlay(3);
}
}



//****************************
function initClips(){
for (i=1; i<=total; i++){
this.attachMovie("img", "img" + i, i); //attach the movie
agregarcero();
mc=eval(this["img"+i]);
j=i;
myMCL.addListener(oyente);
myMCL.loadClip(ruta + numfoto + ext , this["img"+i]);//load images into clip
this["img"+i]._x=i*5000; //spacing
}
//trace("termino de iniciar clips");
}


//****************************
initClips();



stop();

//Mostrar las fotos ya cargadas

------------------- Frame 3 ------------------------------
z=1;

fotocentro();
ajustemarco();
//this["img"+z]._alpha=0;
FadeIn(this["img"+z],6);


sig_btn.onPress = function() {
if (z<total) {
FadeOut(_root.mc_sitio.gal_mc["img"+z],6);
//_root.mc_sitio.gal_mc["img"+z]._visible=false;
z++;
fotocentro(); //_root.mc_sitio.gal_mc["img"+z]._x=0;
ajustemarco();
//_root.mc_sitio.gal_mc["img"+z]._alpha=0;
FadeIn(_root.mc_sitio.gal_mc["img"+z],7);
}
else {
FadeOut(_root.mc_sitio.gal_mc["img"+total],6);
z=1
fotocentro(); //_root.mc_sitio.gal_mc["img"+z]._x=0;
ajustemarco();
//_root.mc_sitio.gal_mc["img"+z]._alpha=0;
FadeIn(_root.mc_sitio.gal_mc["img"+z],7);
}
};

ant_btn.onPress = function() {
if (z>1) {
FadeOut(_root.mc_sitio.gal_mc["img"+z],6);
z--;
//_root.mc_sitio.gal_mc["img"+z]._alpha=0;
fotocentro();
ajustemarco();
FadeIn(_root.mc_sitio.gal_mc["img"+z],7);
}
else {
FadeOut(_root.mc_sitio.gal_mc["img"+1],6);
z=total
fotocentro(); //_root.mc_sitio.gal_mc["img"+z]._x=0;
ajustemarco();
//_root.mc_sitio.gal_mc["img"+z]._alpha=0;
FadeIn(_root.mc_sitio.gal_mc["img"+z],7);
}
};
fin_btn.onPress = function() {
_root.mc_sitio.gal_mc["img"+z]._visible=false;
activar();
gotoAndPlay(1);
};
stop();

Etiquetas: fade, moviecliploader
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:08.