Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Программное создание вложенного мува (http://www.flasher.ru/forum/showthread.php?t=87937)

Guelder 14.11.2006 16:44

Программное создание вложенного мува
 
Создается массив мувов, в каждом из которых хочу создать еще по одному муву. Пишу следующее:
Код:

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);
}

Флэш виснет наглухо, приходится задачу снимать. Я чего-то неправильно делаю?

Guelder 14.11.2006 16:49

До цикла еще такие вот строчки
Код:

var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(mclListener);


wvxvw 14.11.2006 16:57

Флеш может виснуть из-за того, что условие в 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);


Guelder 14.11.2006 17:02

Спасибо, щас буду разбираться...

diezel555 14.11.2006 18:27

спасибо wvxvw за код

а вопросик можно?

как в цикле Вашего кода присвоить загружаемым мувикам свойства кнопок?

wvxvw 15.11.2006 05:37

Код:

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);

Все просто =)


Часовой пояс GMT +4, время: 02:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.