Форум 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)
-   -   Объясните про setInterval (http://www.flasher.ru/forum/showthread.php?t=115361)

Lomako 27.08.2008 18:16

Объясните про setInterval
 
Можно ли в параметрах функции setInterval время работы в параметрах указать не постоянное, а рэндомное?

Скажем,

Код:

var a = Math.ceil(Math.random()*4)*1000;

setInterval(myFunc, a);

В таком примере setInterval определяет переменную а единожды и работает через равные промежутки вермени, а можно их определять каждый раз заново?

Division 27.08.2008 18:30

Код:

function myFunc() {
  clearInterval(intr);
  var a = Math.ceil(Math.random()*4)*1000;
  intr = setInterval(myFunc,a);
}

var a = Math.ceil(Math.random()*4)*1000;
intr = setInterval(myFunc, a);

Что-то вроде этого?

Lomako 27.08.2008 18:34

Гениально, огромное вам спасибо)))

Жень Шень 27.08.2008 18:55

Привет!
Вариант:
Код:

function myFunc() {
        var a = Math.ceil(Math.random()*4)*1000;
        intr = setTimeout(myFunc, a);
        trace(a)
}
myFunc()


Lou 29.08.2008 01:14

Объясните пожалуйста, как работает чудо-setTimeout. В 2-3 предложениях. Спасибо.

Division 29.08.2008 01:35

Учебник / справку лень почитать? ИМХО спрашивать такие вещи не есть хорошо.
setTimeout(myFunc,1000) единожды вызовывает функцию myFunc через 1 секунду.

nOobCrafter 19.03.2009 15:52

Делал тестовый примерчик и наткнулся на что то непонятное мне:
Код AS1/AS2:

var i:Number = 1;
 
function price(old:Number, current:Number)
{
        trace(old + " -- " + current)  // 700,350 -- undefined
        if ((i - 1) < current)
        {
                txt.text = (old - i);
                i++;
        } else {
                trace("done")
                clearInterval(intervalID);
        }
}
 
var intervalID:Number = setInterval(price, 20, [700, 350]);

где txt инстанс нейм динами текстфилда в руте. Как тогда передать несколько параметров функции?
Когда писал исходил из этого:
Код AS1/AS2:

setInterval(functionReference:Function, interval:Number, [param1:Object, param2, ..., paramN]) : Number
setInterval(objectReference:Object, methodName:String, interval:Number, [param1:Object, param2, ..., paramN]) : Number


DarkLight 19.03.2009 16:24

Квадратные скобки в хелпе просто обозначают необязательные параметры.
Просто
Код AS1/AS2:

var intervalID:Number = setInterval(price, 20, 700, 350);


nOobCrafter 19.03.2009 16:29

Ага, спс большое..


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

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