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

kruasan 14.01.2007 16:22

Цитата:

Сообщение от StrangeMan
я всё понял.... мне нужна имеено пауза... а это всё просто вызов определённой функции через интрвал времени.. код то после Сет Интрвал и сетТаймаут продолжает исполняться....

может подскажите как зделать именно паузу...

А тебе нужна пауза в работе флэш-плеера? С остановкой всей анимации и выполнения скриптов? С возможностью восстановления работы плеера после остановки?

etc 14.01.2007 16:36

Вероятно под паузой имеется ввиду sleep в других языках программирования. В ActionScript такого нет.

combo 14.01.2007 19:35

Да, sleep -это конечно сила... но из-за специфики Flasha в нём такого нет.

MOHCTEP 14.01.2007 22:58

Цитата:

вы наверно не правильно понимаете, что такое пауза?
Мда-с! О мудрейший! Я не понимаю какая пауза вам нужна? Что она будет тормозить?? Рутовый фанкшен алгоритм, скрипт анимацию, таймлайн прогресс либо еще какую бяку...? Ведь и подход и код кардинально меняются. Так что там про удава?;)

Жень Шень 15.01.2007 11:48

Привет!
Если я правильно понял, это надо приостановить ВСЁ (или почти всё).
Если так, iNils решил эту проблему ЗДЕСЬ
Возможно это то, что тебе надо (с доработкой конечно:quiet: )

StrangeMan 15.01.2007 20:22

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

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

combo 15.01.2007 21:27

У меня есть(точнее были) только идеи насчет выполнения кода после проверки на завершение паузы. Но эта идея рухнула вот по какой причине:
Код:

n = 1;

function my_pause() {
                trace ("...ожидание...");
                n = 2;
        };
trace ("Начало");
timer = setTimeout(my_pause, 1000);
if (n == 2) { trace ("конец."); }
trace ("продолжение. N = " + n);

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

хотя есть еще вариант, но он через такую же ... а тебе, как я понял хочется простую реализацию...

StrangeMan 15.01.2007 22:26

жалко конечно что нельзя реализовать паузу во флэш ... пришлось сделать по другому..

Код:

var play_b:Function = function(){
        var i_n=0;
        var k_n=0;
        var l_n=0;
                       
        for(var i=_root.g_i; i!=xml_data.firstChild.childNodes.length; i++){
                i_n=i;trace("i="+i);
                for(var k=_root.g_k; k!=xml_data.firstChild.childNodes[i].childNodes.length; k++){    // цикл перечисление всех узлов "c"
                        k_n=k;trace("k="+k);
                        if(_root[("k_"+i)+k_n]._show > 0){
                               
                                for(var l=_root.g_l;l<(_root[("k_"+i_n)+k_n].l);l++){
                                        l_n=l;
                                        trace("l="+l);
                                       
                                       
                                        if(_root[("k_"+i)+k_n]._show ==1){
                                                im(l,k,i);
                                                _root.g_i=i;
                                                _root.g_k=k;
                                                _root.g_l=l+1;
                                                if(k==xml_data.firstChild.childNodes[i].childNodes.length){
                                                        _root.g_i=i;
                                                        _root.g_k=0
                                                };
                                                if(l==_root[("k_"+i_n)+k_n].l){
                                                        _root.g_k=k;
                                                        _root.g_l=0;
                                                       
                                                        };
                                               
                                                return;
                                        };
                                        if(_root[("k_"+i_n)+k_n]["_show" + l_n]>0){
                                               
                                                im(l,k,i);
                                                _root.g_i=i;
                                                _root.g_k=k;
                                                _root.g_l=l+1;
                                                if(k==xml_data.firstChild.childNodes[i].childNodes.length){
                                                        _root.g_i=i;
                                                        _root.g_k=0
                                                };
                                                if(l==_root[("k_"+i_n)+k_n].l){
                                                        _root.g_k=k;
                                                        _root.g_l=0;
                                                };
                                                return;
                                                                                                                                                                                               
                                        };
                                };
                        };
                };
        };
       
        clearInterval(_root.g_int);
};


далее вот таки образом вызываем...

Код:

play_b();
_root.g_int=setInterval(play_b,1000);

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

miramax 15.01.2007 22:47

StrangeMan, я нихрена не понял из кода. Видимо проблема у тебя вовсе не в "паузе".
Скажи чего ты хочешь добиться, наверняка есть более простое решение.

StrangeMan 15.01.2007 23:13

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


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


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

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