Просмотр полной версии : Программное создание вложенного мува
Создается массив мувов, в каждом из которых хочу создать еще по одному муву. Пишу следующее:
for(i=0; i<_global.pictureAmount; i++) {
photoArray[i] = this.createEmptyMovieClip("mc_"+i, this.getNextHighestDepth());
photoArray[i].photoLayer = photoArray[i].createEmptyMovieClip("photoLayer_mc", photoArray[i].getNextHighestDepth());
mcl.loadClip("pics/small/photo_"+i+"_s.swf", photoArray[i].photoLayer);
}
Флэш виснет наглухо, приходится задачу снимать. Я чего-то неправильно делаю?
До цикла еще такие вот строчки
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);
Флеш может виснуть из-за того, что условие в FOR'e задано не правильно. Кроме того грузить что-бы там ни было лучше последовательно, а не одновременно. Например так:
var MCL:MovieClipLoader = new MovieClipLoader();
var MCLL:Object = {};
var toLoad:Array = [];
for(i=0; i<10; i++){
var _mc:MovieClip = _root.createEmptyMovieClip("mc_"+i, _root.getNextHighestDepth());
var _tgt:String = "image2load"+i+".jpg"
toLoad.push({clip:_mc, pic:_tgt});
}
MCLL.onLoadComplete = function(mc:MovieClip){
_root.toLoad.shift();
if(_root.toLoad.length>0){
_root.MCL.loadClip(_root.toLoad[0].pic, _root.toLoad[0].clip);
}
}
MCL.addListener(MCLL);
MCL.loadClip(_root.toLoad[0].pic, _root.toLoad[0].clip);
Спасибо, щас буду разбираться...
diezel555
14.11.2006, 18:27
спасибо wvxvw за код
а вопросик можно?
как в цикле Вашего кода присвоить загружаемым мувикам свойства кнопок?
var MCL:MovieClipLoader = new MovieClipLoader();
var MCLL:Object = {};
var toLoad:Array = [];
for(i=0; i<10; i++){
var _mc:MovieClip = _root.createEmptyMovieClip("mc_"+i, _root.getNextHighestDepth());
var _tgt:String = "image2load"+i+".jpg"
var func:Function = function(){
trace(this);
}
toLoad.push({clip:_mc, pic:_tgt, f:func});
}
MCLL.onLoadComplete = function(mc:MovieClip){
mc.onRelease = _root.toLoad[0].f;
_root.toLoad.shift();
if(_root.toLoad.length>0){
_root.MCL.loadClip(_root.toLoad[0].pic, _root.toLoad[0].clip);
}
}
MCL.addListener(MCLL);
MCL.loadClip(_root.toLoad[0].pic, _root.toLoad[0].clip);
Все просто =)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.