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

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

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

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
По умолчанию Выгрузка SWF из лоадера

Всем привет!
такой вот вопросец появился
подгружаю внешнюю флешку
Код AS3:
var FilePath = xml.item[index].source.name;
 
var imageLoader = new Loader();
imageLoader.load(new URLRequest(FilePath));
 
imageLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, NewsLoaded);				  			  
 
function NewsLoaded(e:Event = null):void
{
	var swf = e.target.content;
	addChild(swf);
}
после использования этой флешки ее нужно вообще убрать:
removeChild(swf) просто выгружает со сцены, но сама флешка продолжает работать(звуки там и прочее)
как ее выгрузить из памяти начисто?

спаисбо
__________________
мира и гармонии


Последний раз редактировалось udaaff; 22.08.2010 в 21:59. Причина: Еще более коряво код нельзя было оформить?
Старый 22.08.2010, 23:06
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 2  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Может так прокатит:
- добавляем на сцену не контент, а лоадер целиком, а потом:
Код AS3:
imageLoader.unload()

Старый 22.08.2010, 23:57
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 3  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
Цитата:
As a best practice, before you unload a child SWF file, you should explicitly close any streams in the child SWF file's objects, such as LocalConnection, NetConnection, NetStream, and Sound objects. Otherwise, audio in the child SWF file might continue to play, even though the child SWF file was unloaded. To close streams in the child SWF file, add an event listener to the child that listens for the unload event. When the parent calls Loader.unload(), the unload event is dispatched to the child. The following code shows how you might do this:
прикольно, вот почему звуки продолжают играть
__________________
мира и гармонии

Старый 23.08.2010, 01:04
Hidest вне форума Посмотреть профиль Отправить личное сообщение для Hidest Найти все сообщения от Hidest
  № 4  
Ответить с цитированием
Hidest
 
Аватар для Hidest

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
Loader#unloadAndStop()

Старый 23.08.2010, 02:42
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 5  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
unloadAndStop вроде в 10 плеере вроде
unload сработал но после этого я не могу тем же ладером загружать ничего - выдает ошибку
__________________
мира и гармонии

Старый 23.08.2010, 13:47
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 6  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
а что мешает сделать новый?

Старый 23.08.2010, 16:10
3p.station вне форума Посмотреть профиль Отправить личное сообщение для 3p.station Найти все сообщения от 3p.station
  № 7  
Ответить с цитированием
3p.station
 
Аватар для 3p.station

блогер
Регистрация: Oct 2009
Адрес: кочевник. Киев
Сообщений: 453
Записей в блоге: 5
да так и решилось
я его обновляю
Код AS3:
loader = new Loader();
а потом не выгружаю а делаю
Код AS3:
loader = null
всем спасибо
__________________
мира и гармонии

Старый 19.11.2012, 04:24
smit1987 вне форума Посмотреть профиль Отправить личное сообщение для smit1987 Найти все сообщения от smit1987
  № 8  
Ответить с цитированием
smit1987

Регистрация: Nov 2012
Сообщений: 3
Цитата:
Сообщение от 3p.station Посмотреть сообщение
да так и решилось
я его обновляю
Код AS3:
loader = new Loader();
а потом не выгружаю а делаю
Код AS3:
loader = null
всем спасибо
Что посоветуете мне? Столкнулся с такой же проблемой. Подгружаю флешку следующим способом:

Код AS3:
bt_Chip_Off.addEventListener(MouseEvent.CLICK, fl_ClickToLoadUnloadSWF);
import fl.display.ProLoader;
var fl_ProLoader:ProLoader;
 
//Эта переменная служит для определения требуемой операции (загрузка/выгрузка)
var fl_ToLoad:Boolean = true;
 
function fl_ClickToLoadUnloadSWF(event:MouseEvent):void
{
	if(fl_ToLoad)
	{
		fl_ProLoader = new ProLoader();
		fl_ProLoader.load(new URLRequest("http://cs6122.userapi.com/u153886829/3ca1520ee27b1a.zip"));
		masked_clip.addChild(fl_ProLoader);
		masked_clip.scaleX = 1.1
		masked_clip.scaleY = 1.1
	}
	else
	{
		fl_ProLoader.unload();
		removeChild(fl_ProLoader);
		fl_ProLoader = null;
 
	}
	//Включите, если требуется загрузить или выгрузить файл SWF
	fl_ToLoad = !fl_ToLoad;
 
}
Т.е., у меня не Loader, а ProLoader. Поэтому такое обнуление не подходит. Просто заменить слова - не помогло.
Причем обращаем внимание на то, что после else, как-раз идет отбой, но как описано выше, исчезает только картинка. Что мне туда вписать еще?

Старый 19.11.2012, 05:02
vizgl вне форума Посмотреть профиль Отправить личное сообщение для vizgl Найти все сообщения от vizgl
  № 9  
Ответить с цитированием
vizgl
 
Аватар для vizgl

Регистрация: Jun 2012
Сообщений: 70
Насколько я знаю, то полностью выгрузить загруженную swf из памяти невозможно.
__________________
Блог: http://devizgl.blogspot.com/

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
vizgl, почему это? Loader#unloadAndStop() имеет параметром вызов GC, который достаточно быстро приберет все кольцевые ссылки и даже листенеры. В любом случае, если есть сомнения по поводу последнего, советую реаизовать метод dispose() в подгружаемой флешке и перед выгрузкой вызывать его.
__________________
тут я

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

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

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


 


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


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