si sqr y cargador se encuentran en el mismo nivel
Código:
this['cargador'+i].onEnterFrame = function(){
if(this._parent['sqr'+i].getBytesLoaded() >= this._parent['sqr'+i].getBytesTotal()){
trace("cargado");
}
}
al poner:
if(
this['sqr'+i].getBytesLoaded()
this hace referencia al MC donde se ejecuta, en este caso ya no es fotograma donde escribes el codigo, sino: ['sqr'+i]
por eso puedes usar _parent para retroceder al mismo nivel
cómo propagas el contador: i ?
dentro de:
this['cargador'+i].onEnterFrame
esa variable : i ya se ha perdido
lo que puedes hacer para capturar el contador i
es tomarlo del nombre
como los nombre son
cargador1
cargador2
cargador3
...
notamos que a partir del octavo caracter es la variable i
y para tomar aquello sería:
nombre.
substr(8);
otro asunto es que revises bien la condición que pones
if(this['sqr'+i].getBytesLoaded() >= this['sqr'+i].getBytesTotal()){
trace("cargado");
}
estás diciendo que si los bytes cargados son mayores o iguales al total, entonces que muestra 'cargando'
debería ser si los bytes cargados es menor que el total
otro, luego de que la carga se ha terminado si ya no te sirve 'cargador' entonces deberías eliminarlo para que no te ocupe memoria
finalmente quedaría algo así:
Código:
this['cargador'+i].onEnterFrame = function(){
var mi_clip:MovieClip = this._parent['sqr'+this._name.substr(8)];
if(mi_clip.getBytesLoaded() < mi_clip.getBytesTotal()){
trace("cargado");
}else{
this.removeMovieClip();
}
}
pero depende cómo esté tu código para duplicarlos
te recomendaría usar attachmovie