Allora ho fatto un componente che hai un metodo che gli permette di caricare dentro di se una img
il tutto funziona il locale con testandolo con simulatore di conn di flash no!
solo che non capisco dove sbaglio ecco il codice che carica la foto
la struttura del comp è
componente.mcbackground.canvas
cmpLoadFotoResize.prototype.loadFoto = function(pic) {
this.oldw = this.mcbackground.canvas._width;
this.oldh = this.mcbackground.canvas._height;
this.mcbackground.canvas.loadMovie(pic);
this.onEnterFrame = function() {
trace(this.mcbackground.canvas.getBytesLoaded()+"-"+this.mcbackground.canvas.getBytesTotal());//questi valori sono corretti
if (this.mcbackground.canvas.getBytesLoaded() == this.mcbackground.canvas.getBytesTotal()){
this.mcbackground.canvas._width = this.oldw;
this.mcbackground.canvas._height = this.oldh;
this.mcbackground.canvas._y = 0;
this.onEnterFrame = undefined;
trace(this.mcbackground.canvas._width); //se uso il simulatore questo vale 0 ;in locale ha un valore corretto
/*
e anche se faccio così
this.mcbackground.canvas._height = 200;
trace(this.mcbackground.canvas._width); //sempre zero solo con la simulazione
*/
}
}
};
---
-Penso di aver capito il problema ma non so come risolverlo:
ecco alcuni tracciati:
trace("prima"+this.mcbackground.canvas.getBytesLoa ded()+"-"+this.mcbackground.canvas.getBytesTotal());
//stampa 12-12
this.mcbackground.canvas.loadMovie(pic);
this.onEnterFrame = function() {
trace(this.mcbackground.canvas.getBytesLoaded()+"-"+this.mcbackground.canvas.getBytesTotal());
//stampa 12-12
this.onEnterFrame = undefined; //solo per debug
//logicamente questo test è valido perchè ancora non sono arrivati i dati che dicono quanto è grande il mc ..
if (this.mcbackground.canvas.getBytesLoaded() == this.mcbackground.canvas.getBytesTotal()) {
//entrando qui quando la foto non è ancora caricato succede un casotto!
}
Ma come fare ? mia appello alla vostra esperienza