PDA

Просмотр полной версии : помогите с setInterval


solo19770701
16.02.2009, 03:33
Всем привет. Вопрос. В основной временной линейке на первом кадре устанавливаю интервал, пишу код для первой кнопки на очистку интервала, и во второй кнопке код на возобновление интервала. Так вот, после того, как я интервал очищаю, а потом снова возобновляю с помощю второй кнопки, то первая кнопка перестает работать. Тоесть интеварл зацикливается, и баста. Вот так все выглядит на деле

///// Main Time Line, frame 1
function myFunction():Void
{
square.play()
}
var intervalID:Number = setInterval(myFunction, 4000);

buttonOne.onPress = function()
{
clearInterval(intervalID);
buttonTwo._alpha = 100;
};

buttonTwo.onPress = function()
{
var intervalID:Number = setInterval(myFunction, 4000);
buttonTwo._alpha = 0;
}
Вроде этого. Но вот беда, как мне заставить первую кнопку опять работать. Подозреваю, что проблема в том, что интервал вызывается из разных скопов. А как все запихнуть в оду группу, мозги не доходят. Нужан ваша помощ.
Спасибо.:wacko:

iNils
16.02.2009, 03:45
buttonTwo.onPress = function() {
intervalID = setInterval(myFunction, 4000);
buttonTwo._alpha = 0;
}

solo19770701
16.02.2009, 05:56
to iNils: как всегда выручил.
Спасибо.
Будешь у нас в Maryland, пивом угощу.:drinks:

Добавлено через 1 час 48 минут
to iNils: если можно, еще один вопрос. Хочу утилизировать скрипт. К приеру есть 25 кнопок, они все кроме одной имеют одинаковую альфу 26, но одна кнопка с альфой 68.

/////// this is how it looks right now
b1._alpha = 68;
b2._alpha = 26;
b3._alpha = 26;
b4._alpha = 26;
b5._alpha = 26;
b6._alpha = 26;
b7._alpha = 26;
b8._alpha = 26;
b9._alpha = 26;
b10._alpha = 26;
не могу додуматься, как сделать скрипт короче. Если бы они все были с 1 по 25 одинаковые, то я бы через if(i=0, i<25, i++), но тут получается в каждом кадре альфа одной кнопик отличается от группы.
Спасибо.

alecsisk
16.02.2009, 09:58
for (var ch=0; ch < 25; ch++) {
this['b'+ch]._alpha = 25;
if (ch == 1) {
this['b'+ch]._alpha = 68;
}
}
как-то так

solo19770701
16.02.2009, 17:54
to Код AS1/AS2: спасибо. А то поглядишь на то что я пишу и плакать хочется.

qazwsx
16.02.2009, 18:22
На это тоже. Не обязательно каждую итерацию цикла проверять равно ли ch одному