Автор: Дож 16.4.2008, 10:54
Здравствуйте уважаемые специалисты!
На форуме впервые, к томуже абсолютный новичёк в технологии (надеюсь на снисхождение).
Суть вопроса:
существуют 6 функций but1(); but2();.........but6(); так вот я завис на том, что не знаю как перебрать эти функции последовательно с помощью какой либо одной запустив некий цикл.
Код
function but1() {
this.createEmptyMovieClip("m2_mc", 6); _
level0.m2_mc.attachMovie("b2_btn", "b2_btn", 1);
trace("1");
}
functionbut2() {
this.createEmptyMovieClip("m2_mc", 6); _
level0.m2_mc.attachMovie("b2_btn", "b2_btn", 1);
trace("2");
}
/////////............
function but6() {
this.createEmptyMovieClip("m6_mc", 10);
_level0.m6_mc.attachMovie("b6_btn", "b6_btn", 1);
trace("6");
}
var intervalS=setInterval(cur,1000);
fuhction cur() {
for( --?
вот и вопрос: как это реализовать? Что писать в цикле, чтобы указанные функции поочереди вызывались? Может как то массивы для этого использовать? Надеюсь хоть на какую-нибудь подсказку.
С уважением,
Автор: nikitar 16.4.2008, 11:27
Код
for(i=1; i<=6; i++){
_root["but"+i].call()
}
Автор: Дож 16.4.2008, 12:12
Спасибо большое!
Не могли бы коротко пояснить что есть - call()?
Автор: nikitar 16.4.2008, 12:31
Цитата
Не могли бы коротко пояснить что есть - call()?
Вызов функции.
Есть два варианта вызова функции (например, функция my_function)
Код
my_function();
и
Код
my_function.call();
Автор: Дож 16.4.2008, 12:46
[
Код
my_function.call();
[/quote]
С этим вариантом программа запускает все функции одновременно с промежутком установленном в setInterval, наверное что-то ещё опустил.
Вот убрал всё лишнее из исходника и оставил только 3 функ. с трейсами если не сложно помотрите.
Прикрепленные файлы
sgt.rar ( 4.53 килобайт )
Кол-во скачиваний: 27
Автор: nikitar 16.4.2008, 12:59
Ну естественно, это же цикл.
А ты хочешь, чтобы через 1 секунду запускалась следующая функция?
Автор: Дож 16.4.2008, 13:05
Цитата(nikitar @ 16.4.2008, 13:59)

Ну естественно, это же цикл.
А ты хочешь, чтобы через 1 секунду запускалась следующая функция?
Ну да...
Автор: Дож 16.4.2008, 17:35
Ну вот, проще нет, кажется разобрался
.... хотя и с Вашей помощью.
Вот код который работает как надо:
Код
var intervalS=setInterval(cur,1000);
i=0
function cur() {
if(i<=3){
i++
_root["but"+i].call()
}
if(i==3) {
clearInterval(intervalS)
};
};
Спасибо, вот это _root["but"+i].call() помогло!