Просмотр полной версии : Как сделать так, чтобы картинки подгружались по очереди
Кричали дети!
28.10.2008, 22:46
Подскажите пожалуйста, как сделать так, чтобы картинки подгружались по очереди, с определённым интервалом, из внешнего файла.
Есть код с циклом загрузки:
for (var i=1; i<=10; i++) {
this.createEmptyMovieClip("clip" + i, i);
this["clip" + i].loadMovie("file/pic"+i+".jpg");}
Думаю нужно добавить функцию, и после как-то setInterval, а как, не знаю, как ни пробовал.. Подскажите, плииз.
i=1
timer=0
this.onEnterFrame=function(){
if(i<11&&timer>27){
this.createEmptyMovieClip("clip" + i, i);
this["clip" + i].loadMovie("file/pic"+i+".jpg")
i++
timer=0
}
else if(i>10){delete this.onEnterFrame}
timer++
}
Кричали дети!
28.10.2008, 23:51
Спасибо большое, ты мне очень помог. Я новичёк, как ты заметил, и хочу разобраться..
Вот что делает и как влияет на код переменная timer?
this.onEnterFrame=function(){
} -эта ф-ция выполняется сколько-то раз в секунду(зависит от Frame Rate) т.е. задержка очень маленькая
timer для того, что б задержка была больше
Кричали дети!
29.10.2008, 00:12
Спасибо, понял.
Кричали дети!
29.10.2008, 00:35
Блин, прости, я совсем баран.. Как это зациклить?
Mnilionic
29.10.2008, 01:30
var mcl = new MovieClipLoader();
var i = 1;
function load_img(){
if( i == 11){ clearInterval(interval); return; }
var mc = this.createEmptyMovieClip("clip" + i, i);
mcl.loadClip("file/pic"+i+".jpg", mc);
i++;
}
var interval = setInterval(load_img, 2000);
Кричали дети!
29.10.2008, 02:15
У меня он что-то не работает..
Mnilionic
29.10.2008, 02:36
сорри, внутри функции this не определён.
можно так:
var mcl = new MovieClipLoader();
var i = 1;
function load_img(box){
if( i == 11){ clearInterval(interval); return; }
var mc = box.createEmptyMovieClip('clip' + i, i);
mc._x = i * 20;
mcl.loadClip('file/pic'+ i + '.jpg', mc);
i++;
}
var interval = setInterval(load_img, 2000, this);
Кричали дети!
29.10.2008, 02:57
Ага, работает, круто. А как можно это зациклить? С помощью какого оператора лучше, или вовсе можно как-нибудь без него?
Mnilionic
29.10.2008, 16:11
что значит 'зациклить' и для чего?
джонатан
29.10.2008, 16:33
Что то непонятное для меня вы мутите... Помоему проще вот так:
var mcl = new MovieClipLoader();
var mclLst = new Object();
var i = 1;
mclLst.onLoadInit - function() {
i++;
if(i <=10) {
LoadImg();
} else {
mcl.removeListener(mclLst);
delete mclLst;
delete mcl;
}
}
function LoadImg() {
var mc = box.createEmptyMovieClip('clip' + i, i);
mc._x = i * 20;
mclLst.loadClip('file/pic'+ i + '.jpg', mc);
}
mcl.addListener(mclLst);
LoadImg();
Mnilionic
29.10.2008, 16:44
джонатан, ну во-первых "проще" я бы это не назвал, во-вторых автору нужно грузить через _фиксированный_ интервал времени. :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.