Тема: Прелоадер
Показать сообщение отдельно
Старый 16.05.2003, 19:55
llllllllll вне форума Посмотреть профиль Отправить личное сообщение для llllllllll Найти все сообщения от llllllllll
  № 6  
llllllllll

Регистрация: Feb 2001
Сообщений: 1,893
Вот так он скажет сколько там байтслоадед:

i = 1;
layer_clip = 1;
massivButtonsRozetki = [];;
massivButtonsRozetki[i] = this.createEmptyMovieClip("rozetkiButtons"+i, layer_clip);
massivButtonsRozetki[i].createEmptyMovieClip("temp", ++layer_clip);
massivButtonsRozetki[i].temp.loadMovie("test.swf");
this.onMouseDown = function(){
trace(massivButtonsRozetki[i].temp.getBytesLoaded());
}

А onLoad - естественно не пашет, этож сто раз подымалось, есть вот какойто под рукой багфикс от flashguru - но там тоже какойто левак был не помню, но в целом правильная дорога:

Movieclip.prototype.oldLoadMovie=Movieclip.prototype.loadMovie
Movieclip.prototype.loadMovie=function(url,vars){
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)
}