Форум 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)
-   -   Задрежка в выполнении кода. (http://www.flasher.ru/forum/showthread.php?t=102099)

SnakefromRussia 09.10.2007 01:16

Задрежка в выполнении кода.
 
Доброе время суток. У меня возник вопрос на тему, как сделать задержку в выполнении кода?
В моем примере случайным генератором чисел на рабочем поле ставится точка, и через 5 секунд она так же случайно ставится в другое место. Вопрос в том как задать эту паузу в 5 секунд в выполнении? Обычно это делается таймерами или командами типа wait, delay...но ничего похожего я что-то не нашел. Спасибо.

udaaff 09.10.2007 01:17

setInterval

SnakefromRussia 09.10.2007 01:22

Спасибо :) , убежал пробовать

SnakefromRussia 09.10.2007 02:00

:( Что то не получается заставить работать...вешаю такой вот код на муви клип...но ничего не происходит

Код:

onClipEvent (enterFrame) {
        function RNDPosSet() {
                this._x = Math.random()*this._parent.GameField._width;
                this._y = Math.random()*this._parent.GameField._height;
                updateAfterEvent();
        }
        setInterval(RNDPosSet,5000);
}


udaaff 09.10.2007 02:13

Код на мувиках писали в прошлом веке. С большой буквы пишутся названия классов и конструкторов.
Код в первом кадре:
Код:

setInterval(rndPosSet, 5000, my_mc);
function rndPosSet(mc) {
        mc._x = Math.random()*mc._parent.gameField._width;
        mc._y = Math.random()*mc._parent.gameField._height;
}


SnakefromRussia 09.10.2007 02:23

Спасибо,
но почему то даже так не работает (

udaaff 09.10.2007 02:28

Что трейсы выводят?
Код:

setInterval(rndPosSet, 5000, my_mc);
function rndPosSet(mc) {
          trace(mc)
          trace(mc._parent.gameField)
        mc._x = Math.random()*mc._parent.gameField._width;
        mc._y = Math.random()*mc._parent.gameField._height;
}


SnakefromRussia 09.10.2007 02:34

Хм...я так понимаю, это вот это?
Код:

_level0.mob_marker
undefined
_level0.mob_marker
undefined
_level0.mob_marker
undefined


udaaff 09.10.2007 02:38

Значит путь не правильно указываете (mc._parent.gameField). Подазреваю, что вместо mc._parent.gameField, надо просто mc._parent.

SnakefromRussia 09.10.2007 02:43

Спасибо! )
Действительно, убрал gameField и муви клип стал случайно раскидываться по полю ) , здорово... Хотя вот это сообщение все еще выводится
_level0.mob_marker
undefined
_level0.mob_marker
undefined
_level0.mob_marker
undefined

udaaff 09.10.2007 02:45

Напите вместо trace(mc._parent.gameField), trace(mc._parent) :)

SnakefromRussia 09.10.2007 02:47

А все понял )))
Я туплю видимо неслабо.
Спасибо большое )

Joac 21.12.2007 15:06

привет,
у меня похожая проблема:

код в первом кадре:

Код:

var vis:Number = 0;

function hideGovBoard(k)
{
        clearInterval(vis);
        _root["m" + k]._x = 1000;
        _root["image"+k]._x = 1000;
}

код в мувике:
Код:

on(rollOut)
{
        _root.vis = setInterval(_root.hideGovBoard, 1000, _root.m1.j);

        filters = [_root.DecBrightness];
}

и такое впечатление что на clearInterval(vis); все заканчиваеться.
_root["m" + k]._x = 1000;
_root["image"+k]._x = 1000;
эти координаты не присваиваються:(

неужеле нету нормального делея во флеше?
может есть просто долговыполняющаяся операция?

когда я убираю clearInterval setInterval
все работает отлично(

clearInterval точно обнуляет интервал?
что должно оставаться в перенеменно vis
после clearInterval(vis); ?

потому что у меня после каждого _root.vis = setInterval(_root.hideGovBoard, 1000, _root.m1.j); он увеличиваеться на 1 и clearInterval(vis) никак его не уменьшает

Aisaid 21.12.2007 20:13

попробуй так:
Код:

...
clearInterval(_root.vis);
...



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

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