PDA

Просмотр полной версии : как остановить loadClip


maxx_tlt2
13.11.2007, 15:54
Здравствуйте.

Задача следующая, нужно определить количество файлов в папке, не загружая их на сцену (при условии что файлы называются 1,2,3,4 и т.д)
Т.е. как итог должен появиться некий Х (переменная), равная количеству файлов.

В данный момент реализовано так:

//КОД ПЕРВОГО ФРЕЙМА
X = 0;

//КОД ВТОРОГО ФРЕЙМА
X++;

//КОД ТРЕТЬЕГО ФРЕЙМА

var mcl:MovieClipLoader = new MovieClipLoader();
var myL:Object = new Object();

myL.onLoadComplete = function() {gotoAndPlay(2);};

myL.onLoadError = function() { trace(x); }; // ВЫВОДИТ X

this.createEmptyMovieClip("clip"+x, this.getNextHighestDepth());
mcl.loadClip(x+".jpg", "clip"+x);
mcl.addListener(myL);
stop();

Команды unloadClip и removeListener() пробовал ставить по разному, в том числе и в myL.onLoadInit = function() {}. Либо я что то не так делаю, либо это не помогает. Всё равно он файл догружает.

Помогите выполнить задачу корректно.

terbooter
13.11.2007, 16:07
По-моему никак.
Вот человек борется с такой же проблемой
http://www.actionscript.org/forums/showthread.php3?t=151605

maxx_tlt2
13.11.2007, 16:11
По-моему никак.
Вот человек борется с такой же проблемой
http://www.actionscript.org/forums/showthread.php3?t=151605

Действительно, борется с тем же самым, но надеюсь что то придумать можно :)

DarkLight
13.11.2007, 17:19
Если это происходит локально, почему не воспользоваться оболочками, умеющими работать с файловой системой, типа Zinc?

maxx_tlt2
13.11.2007, 17:30
Это и локально и интернет.
Этакая CD ПРЕЗЕНТАЦИЯ - сайт :)

maxx_tlt2
13.11.2007, 17:31
Я поборол
Кому интересно - вот ответ:
myL.onLoadStart = function() {
eval("clip"+x).unloadMovie();
gotoAndPlay(2);
};

тему закрываю
Всем спасибо

wvxvw
13.11.2007, 18:25
Кстати, по поводу моего кода там... вот, сейчас еще раз попробовал...
Чего-то ничего не пойму
результат трейса:
onLoadStart
still loading 0.0102790014684288
still loading 0.0177235938940682
still loading 0.092511013215859
still loading 0.19222757231158
still loading 0.291944131407301
unloadClip
still loading 0.391660690503022
var mc:MovieClip = _root.createEmptyMovieClip("mc",0);
var mcl:MovieClipLoader = new MovieClipLoader();
var mcll:Object = {};
mcll.onLoadStart = function(mc:MovieClip):Void {
trace("onLoadStart");
}
mcll.onLoadInit = function(mc:MovieClip):Void {
mc._x = Stage.width/2-mc._width/2;
mc._y = Stage.height/2-mc._height/2;
}
mcll.onLoadProgress = function(mc:Mouse,bl:Number,bt:Number):Void {
if(bl/bt>.3){
trace("unloadClip");
mcl.unloadClip(mc);
}
trace("still loading "+bl/bt);
}
mcll.onLoadError = function(mc:MovieClip,c:String,s:Number):Void {
trace("Error: "+c+" : "+s);
}
mcl.addListener(mcll);
mcl.loadClip("http://z.about.com/d/drawsketch/1/0/_/I/lulu_cat.jpg",mc);
Т.е. onLoadProgress вызываться перестал, когда это и планировалось. Но вот обещаной ошибки так и не было...

Double
13.11.2007, 19:00
а почему содержимое папки не прочитать с помощью php-скрипта?

maxx_tlt2
14.11.2007, 16:35
а почему содержимое папки не прочитать с помощью php-скрипта?
потому что нужно чтоб работло и локально (с диска), а с виртуальным сервером морочится не захотелось