При долгой работе флешка загаживает память ... ;( @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 2 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
shureek
новый человек
0
Сообщения: 11
Зарегистрирован: 13.12.04
Заголовок сообщения: При долгой работе флешка загаживает память … ;(
Сообщение Добавлено: 27 Июль 2005, 21:13:27 
Суть такова : флешка должна менять блоки картинок. Просто в определенный момент переставляет их рандомно …

В общем, каждый блок - это мувиклип - с названиями либо пик_ротате01-5, либо сквеар1-2 .. - массив имен
и два массива координат …

И все вроде как работает - но проблема в том, что если оставить окно неактивным, то по прошествии некоторого времени возвращение в это окно приводит к чудесным результатам - хоть у меня смена блоков должна происходить раз в 10 секунд, флешка походу пытается "проиграть" все перестановки, которые должны были быть во время неактивности эксплорера с флешем …

Каждый мувиклип пик_ротейт - это несколько картиночек, которые также по таймеру воспроизводятся рандомно.… ну.. это к слову …

В чем проблема? Гуры - подскажите ламке ;)

Ниже - собственно код...

timer02 = setInterval (blockRotate, 10000);

names = [pic_rotate01, pic_rotate02, pic_rotate03, pic_rotate04, pic_rotate05, square, square2];
masx = [287.5, 366.5, 286.5, 366.5, 446.5, 206.5, 206.5];
masy = [38.5, 38.5, 118.5, 118.5, 118.5, 38.5, 118.5];

function blockRotate() {
do {
i1 = Math.round(Math.random()*6);
i2 = Math.round(Math.random()*6);
}
while (i1 == i2)

ax = masx[i1];
ay = masy[i1];
aname = names[i1];

names[i1]._x = masx[i2];
names[i1]._y = masy[i2];
names[i2]._x = masx[i1];
names[i2]._y = masy[i1];

masx[i1] = masx[i2];
masy[i1] = masy[i2];
masx[i2] = ax;
masy[i2] = ay;

updateAfterEvent;
}
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 28 Июль 2005, 00:13:42 
Не знаю точно в чем проблема, но есть подозрение, что тем или иным способом запускаются еще несколько процессов через setInterval. Можно поступить так:



var timer;

function blockRotate()
{
trace("ok");
clearInterval(timer);
timer = setInterval(blockRotate, 100);
}

blockRotate();
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 2 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100