Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 13.09.2002, 17:08
Акакий Акакиевич вне форума Посмотреть профиль Отправить личное сообщение для Акакий Акакиевич Найти все сообщения от Акакий Акакиевич
  № 1  
Акакий Акакиевич
 
Аватар для Акакий Акакиевич

Регистрация: Nov 2001
Адрес: Шинель
Сообщений: 99
По умолчанию Оптимизация кода в MX. SetInterval() и другие животные.

Господа, помогите пожалуйста оптимизировать код. Впервые решил сделать весь код в первом кадре, а не разбрасывать по всему клипу, благо MX даёт такую возможность. Но в связи с этим появляются некоторые проблемы с циклами при использовании setInterval().

Задача: имеются восемь текстовых полей для посимвольного отображения подписей (text[m]).

text = new Array();
text[0] = "bla-bla";
text[1] = " bla-bla 1";
/*……
*/……
text[7] = " bla-bla 7";
//
/*
Функция ekr() служит для их заполнения из массива text
*/
//
function ekr(m) {
for (i=0; i<=8; i++) {
set('_root.sim'+i, text[m].charAt(i));
}
}
//
/*
А вот тут самый главный геморрой – необходимо сделать так, чтобы надписи циклично менялись через заданный промежуток времени по событию (нажатие кнопки). Ниже приведённая функция smena() отвечает за последовательное отображение двух любых подписей из массива (nach, kon) через промежуток времени (prom). А вот дальше есть функция loop() – это рабочий вариант, но работает не непрерывно.
*/
//
function smena(nach, kon, prom) {
ekr(nach);
function delay() {
ekr(kon);
clearInterval(delaySt);
}
delaySt = setInterval(delay, prom);
}
//
function looop(strtCik , stpCik , delaaaay) {
smena(strtcik,strtcik+1,delaaaay);
function delay1() {
smena(strtcik+1,strtcik+2,delaaaay);
clearInterval(delaySt1);
}
delaySt1 = setinterval(delay1, delaaaay);
}
//
_root.panel.onOffKn.onRelease = function() {
looop(3,5,2000);
};

Вопрос: как заставить onRelease крутиться непрерывно любые надписи через любой промежуток времени до наступления другого события? Как сделать всё это во фреймах – примерно представляю, а вот как в одном кадре с setInterval()… что-то совсем запарился И, как мне кажется, в тему ещё вопрос: как проиграть из пятисекундного звука только промежуток с 3-й по 4-ю секунду и сделать воспроизведение этого звука непрерывным, а обрывать его по событию.
Буду рад любому ответу, кроме ответов, содержащих сентенции по поводу моего не блестящего интеллекта. Заранее согласен, что код, написанный мною плох, потому и прошу о помощи.
Заранее благодарю, Ваш Акакий.

Создать новую тему   Часовой пояс GMT +4, время: 07:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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