Форум 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=96313)

Ингеборга 28.05.2007 18:27

Вопрос специалистам! setInterval!!!!
 
Добрый день уважаемые профессионалы!
Код:

_root.i=0;
pseppp=setInterval (ppp,1000); // Задержка в мс
ppp=_root.createEmptyMovieClip( "test66", 1 );
function ppp()
{               
for (i=0; _root.i<200; i++)
{
with ( _root.test66 )
{
        lineStyle(1, 0xFF9900, 99-(i/2) );
        moveTo (20, 300-i);
        lineTo (40, 300-i);
}
}
 clearInterval(pseppp);
}

Почему не работает правильным образом setInterval!!!!
Минуя вложенный цикл - выводит результат сразу и из массива for!
Лажа 100%!
Как я только не изголялся - сначала ждёт потом рожает.

Задача такая - нужно из цикла выводить линию, через скажем, цать секунд - следующая и т.п. и т.д.

Спасибо.

etc 28.05.2007 18:33

Очень мудро перекрывать функцию созданием клипа…

Ингеборга 28.05.2007 18:41

10 лет назад, так и было...
Как в MDirectore типа:
.....
i++;
}
pause (1000);
}

Kikasso 28.05.2007 18:42

Клип переименуй или функцию ))

Ингеборга 28.05.2007 18:44

Так подскажите как в AS - это можно реализовать, пошагово (вычитая из Y) дорисовывать линию, а за ней следующую используя задержку.. Я не понимаю. Встроенный help и 2 библии - ничего не объясняют кроме банальных примеров... с tace - с ним то всё работает.. А в функцию не передаётся значение...test66 из-за того, что я вставляю SetInterval чем trace() - хуже for ( ){}???? Не понимаю как сделать!

Ингеборга 28.05.2007 18:50

Добавлю чуть-чуть... ещё.
Неужели нельзя было в такой крутой проге как Flash сделать банальную функцию pause(); или delay(); или или... кроме SetGetTime и SetInterval ничего не предлагается.. Кстати, я и for пробывал - такая же фигня.
Вощем резюмиру: минус заграничным автарам создалетям AS (хоть 25ой верссии и хоть встроенную в Фотошоп и куда угодно) - одной простой функции типа delay(112345); Пазор!

BigDan 28.05.2007 18:52

Задержка:
Код:

SI = setInterval(function {clearInterval(SI);},1000);

etc 28.05.2007 18:55

Ингеборга, ActionScript язык однопоточный, остановить выполнение потока нельзя. Если вам не нравится данный язык — не пишите на нём, вас никто не заставляет этим заниматься. Здесь решают конкретные проблемы, а не высказывают своё недовольство.
Sleep в AS нет, слава богу.

iNils 28.05.2007 18:58

Позор не знать, что позор пишется через О. И ругать надо прежде всего себя, а не людей (компанию), язык который вы не знаете.

Ингеборга 28.05.2007 19:00

Ещё кстати, если setInterval внутри for писать или внутри функции выводящей - "висит" как фанера над парижем... По этому, как я понял, портатив пару дней изучения, предназначена она для "перехвата" события функции - если можно так выразится... Фигово дело...


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

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