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

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

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

Регистрация: Feb 2012
Сообщений: 58
По умолчанию Выгрузить swf

Здравствуйте, чтобы не начинать swf с начала а переходить на нужный кадр, я подгружаю его в пустой мувик и задаю командуперехода на 55 кадр. все работает, но есть небольшой ньанс.
Когда я таким путем перехожу из одного файла в другой ( в обоих реализован переход на 55 кадр) несколько раз, проект начинает натурально лагать. кнопки туго соображают, скролл с лекцией перестает прокручиваться плавно и начинает слайд шоу((
В чем может быть проблема? Наверно после перехода, предыдущий swf как то выгрузить надо? я получается в один контейнер ( и в первом и во втором файле, контейнер container_mc)
загружаю много копий одних и тех же файлов?

p.s. капец, специально отрыл диспетчер задач, и после каждого перехода, смотрел вес процесса, действительно, с каждым разом, вдвое увеличивается((( Хелп! как решить?


Последний раз редактировалось KHVshNic; 17.05.2012 в 12:59.
Старый 17.05.2012, 12:55
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
container_mc.unloadMovie()
__________________
Идите первым!

Старый 17.05.2012, 13:05
KHVshNic вне форума Посмотреть профиль Отправить личное сообщение для KHVshNic Найти все сообщения от KHVshNic
  № 3  
Ответить с цитированием
KHVshNic

Регистрация: Feb 2012
Сообщений: 58
Попробовал в каждом файле писать так
Код AS1/AS2:
this._lockroot = true;
this.createEmptyMovieClip("container_mc",0);
container_mc.unloadMovie();
все равновес увеличивается и лагает(

Подгружаю мувик так
Код AS1/AS2:
Prev.onRelease = function()
{
		var mcLoader:MovieClipLoader = new MovieClipLoader();
	_root.q = 55;
	mcLoader.loadClip("Lection1.swf",_root.container_mc);
 
 
};
может сюда куда нить это писать надо?

Старый 17.05.2012, 13:15
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
В каждом файле пишите эту конструкцию?
Код AS1/AS2:
this._lockroot = true;
this.createEmptyMovieClip("container_mc",0);
container_mc.unloadMovie();
А я так сперва понял, у вас есть основная флешка, и несколько подгружаемых.

PS:
Код AS1/AS2:
this.createEmptyMovieClip("container_mc",0);
container_mc.unloadMovie();
- не имеет смысла. После создания пустого на том же уровне предыдущий стирается (в общем случае - без последствий).
__________________
Идите первым!

Старый 17.05.2012, 13:20
KHVshNic вне форума Посмотреть профиль Отправить личное сообщение для KHVshNic Найти все сообщения от KHVshNic
  № 5  
Ответить с цитированием
KHVshNic

Регистрация: Feb 2012
Сообщений: 58
Нет, в идеале у меня одна флешка, заменяется другой, все на нулевом уровне.
Но с этим контейнером непонимаю. он как будто забивается.

каждый раз пишу, т.к. начать просмотр можно с любой лекции (1~6), соответсвенно в каждый есть код создания контейнера. может проще реально сделать?
в самом первом файле, где выбор лекции, создать пустой клип, но все равно, надо же выгружать как то файлы, а они что то не выгружаются никак...

Старый 17.05.2012, 13:27
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Создаете пустой контейнер, один раз.
Код AS1/AS2:
this.createEmptyMovieClip('container_mc', 0);
container_mc._lockroot = true ;
2. Создаете один экземпляр MCL и слушатель для него.
(код не пишу, тут все ясно)

3. При нажатии некой кнопки останавливаем воспроизведение предыдущего (если оно было, тут бы еще условие по хорошему надо), выгружаем и грузим новую swf-ку:

Код AS1/AS2:
btn.onRelease = function()
{
   container_mc.stop();
   container_mc.unloadMovie();
   mcl.loadClip('someurl.swf', container_mc);
};
4. Ну и насчет 55-го кадра:
Код AS1/AS2:
listener.onLoadInit = function(tgt:MovieClip)
{
   tgt.gotoAndPlay(55); //или tgt.gotoAndStop(55), вам виднее
};
__________________
Идите первым!


Последний раз редактировалось mooncar; 17.05.2012 в 13:33.
Старый 17.05.2012, 14:05
KHVshNic вне форума Посмотреть профиль Отправить личное сообщение для KHVshNic Найти все сообщения от KHVshNic
  № 7  
Ответить с цитированием
KHVshNic

Регистрация: Feb 2012
Сообщений: 58
Все сделал, контейнер создал в файле, где выбор лекции.
лоадер добавил
Код AS1/AS2:
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(onLoad);
Вообще никуда не переходит, кнопка не реагирует о.О изменил конечно на свою, L1
и имя экземпляра L1. и идентификатор АС L1.

Капец, у меня перестали работать все кнопки на лекции в этом файле.
Я непонимаю с чем это связано.
Уже и удалил весь код лишний, все равно не работает, там обычный
on (release) {
loadMovieNum прописан((((

Добавлено через 1 час 42 минуты
С проблемами разобрался. переходы работают, вернулся к тому с чего начал...

если ли аналог container_mc.unloadMovie(); ?
И почему файлы остаются "в буфере" ? разве если они все на одном уровне, они не должны заменятся?

Добавлено через 2 часа 2 минуты
Дубль 2)

Код AS1/AS2:
this.createEmptyMovieClip('container_mc', 0);
container_mc._lockroot = true ;
 
var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_lst:Object = new Object();
my_mcl.addListener(my_lst);
stop();
Создаю контейнер и лоадер.

Код AS1/AS2:
Next.onRelease = function()
{
   container_mc.stop();
   container_mc.unloadMovie();
my_mcl.loadClip('Lection2.swf', container_mc);
};
listener.onLoadInit = function(tgt:MovieClip)
{
   tgt.gotoAndStop(55);
};
грузим файл.
Кстати, это наверно важно. Кнопки у меня находятся в мувикэ и я в нем на отдельном свое пишу вот код загрузки.
Но я пробовал писать
Код AS1/AS2:
_root.my_mcl.loadClip('Lection2.swf', container_mc);
кнопка вообще не реагирует.

Добавлено через 2 часа 17 минут
Весь код написал в один кадр, путь кнопке поменял
Код AS1/AS2:
_root.Knopaki.Next.onRelease = function()
перешелко второй лекции. абсолютно тотот же код написал там, поменял кноку и загружаемый файл. и.....а нифига.
Ноль реакции на нажатие. буду бится головой апстол:\\\

Добавлено через 3 часа 28 минут
ничего не работает почему то.
если я в одном файле создал контейнер, нормально перехожу во второй файл а от туда уже никак.
кнопка не реагирует. в чем может быть проблема?

Добавлено через 14 часов 50 минут
Я не понимаю причины. Один и тот же код, одно и то же все.
Но в одном файле он работает, а в другом нет.
Если надо могу скинуть исходник, правда весит ~100 Мб.
Срочно нужна помощь с этой проблемой!

Добавлено через 14 часов 58 минут
Цитата:
Сообщение от mooncar Посмотреть сообщение
1. Создаете пустой контейнер, один раз.
Код AS1/AS2:
this.createEmptyMovieClip('container_mc', 0);
container_mc._lockroot = true ;
2. Создаете один экземпляр MCL и слушатель для него.
(код не пишу, тут все ясно)
[/as]
Ну написал я в 1 файле этот код, во втором только команду перехода, из первого во второй переходит отлично, а обратно никак. как будто и нету контейнера. А когда пишу в обоих создание контейнера, он естественн оведет себя как у меня и было - забивает память.
Подскажите хоть где почитать про выгрузку из контейнера при загрузке другого swf? они должы заменять друг друга!


Последний раз редактировалось KHVshNic; 17.05.2012 в 14:30.
Старый 18.05.2012, 09:25
KHVshNic вне форума Посмотреть профиль Отправить личное сообщение для KHVshNic Найти все сообщения от KHVshNic
  № 8  
Ответить с цитированием
KHVshNic

Регистрация: Feb 2012
Сообщений: 58
По умолчанию Как очистить контейтер?

Привет, забивается контейнер и плеер начинает очень много весить.
Код AS1/AS2:
this.createEmptyMovieClip('container_mc',0);
container_mc._lockroot = true;
 
var my_mcl:MovieClipLoader = new MovieClipLoader();
var my_lst:Object = new Object();
my_mcl.addListener(my_lst);
stop();
 
btn.onRelease = function()
{
	container_mc.stop();
	container_mc.unloadMovie();
	my_mcl.loadClip('Lec2.swf',container_mc);
};
my_lst.onLoadInit = function(tgt:MovieClip)
{
	tgt.gotoAndStop(55);
};
Пробовал писать unloadMovie, но все равно, после перехода из одного файла в другой, процесс плеера, начинает весить в двое больше и тормозить...
Есть ли другой способ?
Может использовать как то removeMovieClip ?

Добавлено через 3 часа 59 минут
Разве нельзя, загрузить в контейнер мувик, дать команду перейти на нужный кадр, а потом выгрузить файл с контейнером ?

Добавлено через 5 часов 41 минуту
Вот исходники
http://sendfile.su/595517
Может кто по ним чего посоветует?
я уже все перепробовал(((

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

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

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


 


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


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