Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Как организовать задержку? (http://www.flasher.ru/forum/showthread.php?t=49637)

TwoKey 28.09.2003 06:20

Как организовать задержку?
 
Как организовать задержку при помощи action script? т.е. выполняется скрипт потом задержка к примеру 100 мс и потом скрипт продолжает выполнятся? :confused:

Dimonius 28.09.2003 07:02

setInterval(function(),100);

Пушистик 28.09.2003 10:46

а еще можно вот так:
setInterval(function(){myFunction()},100);

типа:

Код:

function myFunction() {
    trace("Test!!!");
}
setInterval(function () { myFunction()}, 100);


iLoveYou 28.09.2003 11:14

Цитата:

Оригинал написал(а) Пушистик
а еще можно вот так:
setInterval(function(){myFunction()},100);
типа:
Код:

function myFunction() {
    trace("Test!!!");
}
setInterval(function () { myFunction()}, 100);


я, конечно, понимаю, что ты щас опять скажешь "зато у меня работает!", но вышенаписанное - весьма бредовый совет в контексте вопроса, естественно.

iLoveYou 28.09.2003 12:34

я бы предложил нечто подобное:
Код:

var id;
var i = 0;
function f1() {trace("f1");}
function f2() {trace("f2");}
function f3() {trace("f3");}
f_arr = [f1, f2, f3];
function callFunction(num) {
        f_arr[num]();
}
function setArg() {
        callFunction(i);
        i++;
        if (i == f_arr.length) {
                clearInterval(id);
        }
}
id = setInterval(setArg, 1000);

при желании этот принцип можно применить для любого количества кусков кода с произвольными по длительности паузами между их выполнением.

TwoKey 28.09.2003 17:26

Спасибо ребята. Это то понятно, но я хотел узнать как организовать задержку непосредсвенно, т.е. не между вызовами функции. Например я выполняю цикл в котором смещаю объект, и я его хочу смещать плавно, с заданнной скоростью, которую то и можно регулировать при помоши задержки.

iLoveYou 28.09.2003 17:34

Цитата:

Например я выполняю цикл в котором смещаю объект, и я его хочу смещать плавно, с заданнной скоростью, которую то и можно регулировать при помоши задержки.
а есть историческая необходимость выполнять перемещение объекта именно с использованием циклов?

Пушистик 28.09.2003 19:54

Вложений: 1
TwoKey, мож тебе надо простое програмное движение?
тада используй обработчик onEnterFrame....

это с шагом в пиксель:

Код:

onClipEvent (enterFrame) {
    ++_x;
}

это с определенным шагом:

Код:

onClipEvent (load) {
    speed = 10;
}
onClipEvent (enterFrame) {
    _x+=speed;
}

это коды вешаются на сам клип....

если как ты хочет, то я думаю так:

Код:

// скорость движения
speed = 5;
// задержка между шагами
delay = 1000;
function mx() {
    _root.mc._x+=speed;
}
setInterval(function(){mx()},delay);

см. аттач

iLoveYou 28.09.2003 20:00

setInterval(function(){mx()},delay);
объясни, пожалуйста, почему именно такая запись?

Штрек 28.09.2003 21:40

Потому, что
setInterval(mx(),delay); не работает,
хотя в HELP-е /и в контентной подсказке/ стоит
просто имя функции.
Методом тыка натыкал
setInterval(function(){mx()},delay);
Метод оъекта, как у тебя, тоже конечно проходит.


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

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