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

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

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

Регистрация: Oct 2007
Сообщений: 100
Отправить сообщение для Валиант с помощью ICQ
По умолчанию Загрузка - выгрузка - загрузка

я гружу флешку - эта флешка перелистывание страниц, page-flip то есть. Все нормально работает, все перелистывается
Код AS3:
var dBook500:Loader = new Loader;
 
	dBook500.name = 'book';
	dBook500.load(new URLRequest("book500.swf"));
	dBook500.x = 28;
	dBook500.y = 0;
	dBook500.contentLoaderInfo.addEventListener(Event.COMPLETE, onloadBook500);
 
function onloadBook500(e:Event):void{
	addChild(dBook500);
}
потом после определенного действия, я нажимаю на кнопку, что бы закрыть флешку, то есть выгрузить
Код AS3:
	var getBook = getChildByName('book');
	if (getBook){
		getBook.unload();
		removeChild(getBook);
	}
потом снова ее загружаю, но новая загруженная флека не позволяет перелистывать страницы... словно drag'n'drop перестал работать...

Скажите я правильно выгружаю из памяти эту флешку?
Может быть нужно что то еще сделать, что бы параметры загружаемой флешки не остались в памяти??
Спасибо...

Старый 08.07.2011, 17:19
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код AS3:
var mc:MovieClip;
var dBook500:Loader = new Loader();
 
	dBook500.name = 'book';
	dBook500.load(new URLRequest("book500.swf"));
	dBook500.contentLoaderInfo.addEventListener(Event.COMPLETE, onloadBook500);
 
function onloadBook500(e:Event):void{
        mc = 	e.currentTarget.content
        addChild(mc);
        mc.x = 28;
	mc.y = 0;
}
 
 
	if (mc){
		dBook500.unloadAndStop(true);
                dBook500 = null;
		removeChild(mc);
                mc = null
	}
__________________
Марк Tween

Старый 08.07.2011, 17:22
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 3  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Еще нужно вызывать перед полным удалением-выгрузкой метод destroy() у флешки, который почистит все слушатели объекты и прочее. Метод нужно написать, конечно же.
__________________
тут я

Старый 08.07.2011, 17:26
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 4  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Неплохо бы ) Но думаю он берет готовую флешку и не вкурсе что там есть
__________________
Марк Tween

Старый 08.07.2011, 17:28
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 5  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Тогда оно печально. Каждое создание нового экземпляра флешки чревато большими утечками.
__________________
тут я

Старый 08.07.2011, 17:39
Валиант вне форума Посмотреть профиль Отправить личное сообщение для Валиант Найти все сообщения от Валиант
  № 6  
Ответить с цитированием
Валиант
 
Аватар для Валиант

Регистрация: Oct 2007
Сообщений: 100
Отправить сообщение для Валиант с помощью ICQ
пишет ошибку
Цитата:
Ошибка типа Coercion: невозможно преобразовать flash.display::AVM1Movie@2e671bf1 в flash.display.MovieClip.
тут

Код AS3:
var mc:MovieClip;
var dBook500:Loader = new Loader();
 
	dBook500.name = 'book';
	dBook500.load(new URLRequest("book500.swf"));
	dBook500.contentLoaderInfo.addEventListener(Event.COMPLETE, onloadBook500);
 
function onloadBook500(e:Event):void{
        mc = e.currentTarget.content
        addChild(mc);
        mc.x = 28;
		mc.y = 0;
}

Старый 08.07.2011, 17:50
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
flash.display::AVM1Movie@2e671bf1
Поищите по форуму, как правильно загружать AVM1 в AVM2.
__________________
тут я

Старый 09.07.2011, 12:51
hartman вне форума Посмотреть профиль Отправить личное сообщение для hartman Найти все сообщения от hartman
  № 8  
Ответить с цитированием
hartman

Регистрация: Jul 2010
Сообщений: 110
Цитата:
Сообщение от КорДум Посмотреть сообщение
Еще нужно вызывать перед полным удалением-выгрузкой метод destroy() у флешки, который почистит все слушатели объекты и прочее. Метод нужно написать, конечно же.
если на объект не осталось никаких ссылок разве его не потрет сборщик мусора вместе со слушателями? а пока этого не произойдет какой смысл удалять слушатели, все равно основная масса остается висеть в памяти.

Старый 09.07.2011, 13:45
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 9  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Сам объект удалится. А его составляющие - нет.
__________________
тут я

Старый 09.07.2011, 23:28
hartman вне форума Посмотреть профиль Отправить личное сообщение для hartman Найти все сообщения от hartman
  № 10  
Ответить с цитированием
hartman

Регистрация: Jul 2010
Сообщений: 110
Цитата:
Сообщение от КорДум Посмотреть сообщение
Сам объект удалится. А его составляющие - нет.
удаляется ссылка на объект. потом сборщик удаляет объект. у объекта были ссылки на его свойства. вместе с объектом удаляются ссылки, значит потом должны быть вычищены и свойства. или я чего то не понимаю?
в случае с лоадером есть метод unload, в документации написано, что надо потом еще закрыть все потоки (NetStream, Sound и т.п.), и вроде как все чисто.


Последний раз редактировалось hartman; 09.07.2011 в 23:31.
Создать новую тему Ответ Часовой пояс GMT +4, время: 07:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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