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

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

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

Регистрация: Dec 2011
Адрес: Беларусь, г. Минск
Сообщений: 50
Отправить сообщение для RhPlus с помощью ICQ Отправить сообщение для RhPlus с помощью Skype™
По умолчанию Подгрузка MovieClip'ов из swc-библиотеки

Реально ли в основной флешке подгружать MovieClip'ы из SWC-библиотек? Например если в игре несколько уровней: загрузить первый как текущий, потом выгрузить, загрузить второй как текущий и т. д.
Буду крайне признателен за какие-нибудь примеры, хотелось бы узнать что вы думаете о подобной загрузке.
Спасибо.

Старый 02.03.2012, 00:50
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 2  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Грузить лучше swf, а потом извлекать классы с помощью getDefinition или путем использования интерфейса библиотеки-уровня. Тема многократно обсуждалась.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
RhPlus, это не загрузка.
swc - это просто набор классов, упакованный в один файл.
Можно в swc хранить несколько уровней: Level01, Level02....

Код AS3:
var level1:Level01 = new Level01();
addChild(level1);
//.............
//когда становится не нужен первый, создаём второй
removeChild(level1) // также удаляем все слушатели и прочую ненужную ерунду
var level2:Level02 = new Level02();
addChild(level2);
// ... и т.д.

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

Регистрация: Dec 2011
Адрес: Беларусь, г. Минск
Сообщений: 50
Отправить сообщение для RhPlus с помощью ICQ Отправить сообщение для RhPlus с помощью Skype™
illuzor, спасибо вам, но я все-таки не понимаю почему это НЕ загрузка... то есть даже из swc мне придется грузить в RAM все сразу, а потом я смогу только лишь удалять эти объекты со сцены?
P.S. Я по чему сужу-то: не так давно со звуком эксперементировал вот такой конструкцией:

Код AS3:
private function playIntro (e:MouseEvent):void //загрузить
	{
		if(s==null)
		{
			 s = new Sound();
			 s.load(new URLRequest("sound/music/sample.mp3"));
			 backgroundMusicChannel = s.play();
		 }
	}
 
private function stopIntro (e:MouseEvent):void //выгрузить
	{
		backgroundMusicChannel.stop();
		s = null;
	}
Возможно это и отстой, но оно экономит память причем весьма неплохо. Так вот мне и хотелось бы узнать можно ли подобное сделать с MovieClip'ом?

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

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Музыку вы именно подгружаете извне.
swc подключается прям к вашему проекту. (точнее не он, а классы из него, которые в проекте используются)

Вы создаёте экземпляр класса уровня, он помещается в память. Какое-то время этот экземпляр используете, когда не нужен, удаляете его из displayList и удаляете все его слушатели и ссылки на него. И тут его выкидывает из памяти garbage collector. Далее создаёте второй уровень и т.д.

Если же вам нужна именно подгрузка, то следуйте совету ChuwY


Последний раз редактировалось illuzor; 02.03.2012 в 01:27.
Старый 02.03.2012, 01:37
RhPlus вне форума Посмотреть профиль Отправить личное сообщение для RhPlus Найти все сообщения от RhPlus
  № 6  
Ответить с цитированием
RhPlus
 
Аватар для RhPlus

Регистрация: Dec 2011
Адрес: Беларусь, г. Минск
Сообщений: 50
Отправить сообщение для RhPlus с помощью ICQ Отправить сообщение для RhPlus с помощью Skype™
illuzor, ChuwY, еще раз спасибо. Можно попросить какие-нибудь примеры использования getDefinition() именно с целью извлечения классов из загруженной SWF и передачи их в основную (если такое вообще возможно)?

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
http://flasher.ru/forum/showthread.php?t=175237
__________________
Reality.getBounds(this);

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

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

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


 


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


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