Ja, linket
http://www.kenike.org/archivos/000057.html virker.
Min kode ser sådan her ud:
MovieClip.prototype.oldLoadMovie = MovieClip.prototype.loadMovie;
MovieClip.prototype.loadMovie = function(url, vars) {
trace("load movie")
if (this.onData != undefined && this.onData != null) {
this._parent.createEmptyMovieClip("__fixEvents", 7777);
this._parent.__fixEvents.theTarget = this;
this._parent.__fixEvents.onData = this.onData;
if (this.onLoad != undefined && this.onLoad != null) {
this._parent.__fixEvents.onLoad = this.onLoad;
}
this._parent.__fixEvents.onEnterFrame = function() {
this.oldv = this.v;
this.v = this.theTarget.getBytesLoaded();
if (this.v != this.oldv) {
this.onData.call(this.theTarget);
}
if (this.v == this.theTarget.getBytesTotal()) {
this.theTarget.onData = this.onData;
if (this.onLoad != undefined) {
this.theTarget.onLoad = this.onLoad;
}
this.onLoad.call(this.theTarget);
this.removeMovieClip();
}
};
}
this.oldLoadMovie(url, vars);
};
//***********************************************************************
numberOfPics = 10;
//********************************
for (var i = 0; i<numberOfPics; i++) {
this.createEmptyMovieClip("pic"+i+"_mc", i);
this["pic"+i+"_mc"].createEmptyMovieClip("dummy"+i+"_mc", i);
this["pic"+i+"_mc"]["dummy"+i+"_mc"].onData = function() {
trace(this._width)
this._x = -(this._width/2);
};
this["pic"+i+"_mc"]["dummy"+i+"_mc"].loadMovie("testpics/born2.jpg");
this["pic"+i+"_mc"]["dummy"+i+"_mc"]._x = -(this["pic"+i+"_mc"]["dummy"+i+"_mc"]._width/2);
}
Problemmet er bare at den kalder onData funktionen som den skal, men hvis jeg inde i onData functionen laver en trace:
trace(this._width);
Er output 0. Det er et problem da jeg skal sætte clippets x position efter bredden på clippet.
Jeg kan selvfølgelig bare lave en onEnterFrame der står og tjekker om bredden er 0. Men så kan jeg jo ligeså godt bruge den samme til at tjekke om der er loadet noget ind, og samtidig slippe for alt det ovenstående...