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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Dec 2007
Сообщений: 27
По умолчанию Кушает память, медленно но верно.

Мувик показывает случайным образом картинки с эффектом плавного перехода. Ест где-то память. Когда я подгружаю 6ть таких мувиков то это сразу заметно, когда один приходится подождать, но все равно ест. Где не пойму. Вроде все чищу.
Код:
var ind:Number = 0;
var ind0:Object = NULL;
var ind1:Object = NULL;
var pri:Number = 0;
// длинна кнопки
var BTNW:Number = 166;
// высота кнопки
var BTNH:Number = 100;
// интервал
my_interval = setInterval(automat1, (Math.floor(Math.random()*5+1)*1000));
// оздает загрузчик клипа
var loader:MovieClipLoader = new MovieClipLoader;
// добавляет в загрузчик обработчик событий
loader.addListener(this);

// гружу первую картинку сразу
rand_file = Math.random();
rand_file = rand_file * 11;
rand_file = Math.floor(rand_file);
var pict_mc:MovieClip = createEmptyMovieClip("pict_mc",-1);
loader.loadClip(rand_file+".jpg","pict_mc");


function automat1() {
	rand_file = Math.random();
	rand_file = rand_file * 11;
	rand_file = Math.floor(rand_file);
	var pict_mc:MovieClip = createEmptyMovieClip("pict_mc"+ind,ind);
	loader.loadClip(rand_file+".jpg","pict_mc"+ind);
	if (pri > 1) {
		pri = 0;
	}
	if (pri == 0) {
                //удаляю мувик
		ind0.removeMovieClip();
		ind0 = _root["pict_mc"+ind];
	}
	if (pri == 1) {
                //удаляю мувик
		ind1.removeMovieClip();
		ind1 = _root["pict_mc"+ind];
	}
	pri++;
	ind++;
	_root["pict_mc"+ind]._x=0;
}
function onLoadInit(_pic:MovieClip) {
	_pic._width = BTNW;
	_pic._height = BTNH;
	_pic._alpha=0;
	_pic.onEnterFrame = function() {
		if (_pic._alpha<100) {
			_pic._alpha += 10;
		} else {
			delete _pic.onEnterFrame;
		}
	};
}
Скрипт прикреплен.
Вложения
Тип файла: rar slider.rar (147.0 Кб, 50 просмотров)

Старый 05.04.2008, 20:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Проверьте области видимости.

Старый 06.04.2008, 18:42
player вне форума Посмотреть профиль Отправить личное сообщение для player Посетить домашнюю страницу player Найти все сообщения от player
  № 3  
Ответить с цитированием
player
 
Аватар для player

Регистрация: Dec 2007
Сообщений: 27
переписал верхнюю чушь на это
Код:
var ind:Number = 0;
var ind0:Object = NULL;
var ind1:Object = NULL;
var pri:Number = 0;
// длинна кнопки
var BTNW:Number = 166;
// высота кнопки
var BTNH:Number = 100;
// интервал

// оздает загрузчик клипа
var loader:MovieClipLoader = new MovieClipLoader;
// добавляет в загрузчик обработчик событий
loader.addListener(this);

// гружу первую картинку сразу
rand_file = Math.random();
rand_file = rand_file * 11;
rand_file = Math.floor(rand_file);
var pict_mc = createEmptyMovieClip("pict_mc",-1);
loader.loadClip(rand_file+".jpg",this.pict_mc);


function automat1() {
	rand_file = Math.random();
	rand_file = rand_file * 11;
	rand_file = Math.floor(rand_file);
	pict_mc = createEmptyMovieClip("pict_mc"+ind,ind);
		trace(pict_mc);
	loader.loadClip(rand_file+".jpg","pict_mc"+ind);
	ind0 = pict_mc;
	trace("automat " + ind0);
	ind++;
	_root["pict_mc"+ind]._x=0;
}
function onLoadInit(_pic:MovieClip) {
	_pic._width = BTNW;
	_pic._height = BTNH;
	_pic._alpha=0;
	_pic.onEnterFrame = function() {
		if (_pic._alpha<100) {
			_pic._alpha += 10;
		} else {
			delete _pic.onEnterFrame;
		}
	};

	trace("удаляю " + _root["pict_mc"+(ind-3)]._width);
	_root["pict_mc"+(ind-3)].removeMovieClip();
	
	
}
my_interval = setInterval(automat1, (Math.floor(Math.random()*5+1)*1000));
тоже чушь но получше. До клипа достучался но память все равно ест.

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

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

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


 


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


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