Hola _CONEJO, pues ya tengo la respuesta, así que dispongo a explicarla por si a alguien le pasa lo mismo:
El problema principal era que en el código inicial de la precarga utilizaba el redondeo de las variables para conseguir que la precarga mostrase del 0% al 100%, con lo que la imágen se quedaba al 20%.
Así que utilicé el tamaño del archivo de la imágen como referencia, sin redondear, con lo que cuando las variables cargados y totales coinciden se determina que la carga se ha realizado con exito. Como veis, las variables cargados y totales hacen referencia a los bytes del documento a cargar.
Este era mi código inicial:
Código :
this.createEmptyMovieClip("window_mc", 1);
this.onEnterFrame = function() {
this.cargados7 = Math.floor(this.window_mc.getBytesLoaded()/100);
this.totales7 = Math.floor(this.window_mc.getBytesTotal()/100);
this.por7 = (this.window_mc.getBytesLoaded()/this.window_mc._root.getBytesTotal())*100;
this.datos7 = Math.floor(this.por7);
this.progres7.text = this.datos7+" % ";
if (this.por7 == 100) {
this.progres7._visible = false;
this.window_mc._visible = true;
delete this.onEnterFrame;
trace(this.window_mc._height);
trace(this.window_mc._width);
} else {
this.progres7._visible = true;
this.window_mc._visible = false;
}
};
this.window_mc.loadMovie("imagen.jpg");
}Pero con las correcciones pertinentes queda de la siguiente manera:
Código :
this.createEmptyMovieClip("window_mc", 1);
this.onEnterFrame = function() {
this.cargados7 = Math.floor(this.window_mc.getBytesLoaded()/100);
this.totales7 = Math.floor(this.window_mc.getBytesTotal()/100);
this.progres7.text = this.cargados7+" % ";
if (this.cargados7 == this.totales7) {
(... igual que el anterior...)Con lo que cuando se ejecuta trace aparece el tamaño del archivo a cargar.
En fin, un saludo