вот накидал тебе. это наброски, я даже не тестил. так что возможны ошибки.
пользуем так:
нужен мувик залинкованый в либе с именем MultiPreloder_mc
код ниже должен быть в нем.
аттачим его и добавляем в очередь вот так:
my_preloader_mc.addPreloadObject("first.swf", this.any_mc, "это первый swf\n")
Код:
#initclip
this.setMultiPreloderClass = function() {
delete this.setMultiPreloderClass;
var MultiPreloder = function () {
this.init();
};
Object.registerClass('MultiPreloder_mc', MultiPreloder);
MultiPreloder.prototype.__proto__ = MovieClip.prototype;
var tmp = MultiPreloder.prototype;
tmp.init = function() {
this.createTextField("out_txt", 0, 0, 0, 300, 300);
};
tmp.addPreloadObject = function(url, target, description) {
this.preload_array = this.preload_array || [];
this.preload_array[this.preload_array.length] = {url:url, target:target, description:description};
if (!this.in_progress) {
this.loadNext();
}
};
tmp.loadNext = function() {
var item = this.preload_array.shift();
if (!item) {
this.finishPreloading();
}
var url = item.url;
var target = item.target;
this.description = item.description;
if (!url.length || !target) {
this.onLoadError();
}
this.loader_mcl = this.loader_mcl || new MovieClipLoader();
this.loader_mcl.addListener(this);
this.loader_mcl.loadClip(url, target);
};
tmp.onLoadProgress = function(target_mc, loadedBytes, totalBytes) {
var percent = Math.floor(loadedBytes/totalBytes*100)
this.out_txt.text = this.description+ "\nloaded: "+percent + " %\nstack: "+this.preload_array.length
};
tmp.onLoadInit = function() {
this.in_progress = false
this.loadNext();
};
tmp.onLoadError = function() {
this.in_progress = false
this.loadNext();
};
tmp.finishPreloading = function() {
this.removeMovieClip();
};
_global.MultiPreloder = MultiPreloder;
ASSetPropFlags(_global, 'MultiPreloder', 7, 1);
};
this.setMultiPreloderClass();
#endinitclip