Показать сообщение отдельно
Старый 12.05.2011, 14:52
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
По поводу битмапы - приведу свой пример.
В последнем проекте у меня, например, грузится по 4 библиотеки для каждого этажа здания, всего на 720 кадров на каждый этаж, так было.
Получение битмапы для аттача на сцену прописано в самой скомпилированной библиотеке:
Код AS1/AS2:
import flash.display.BitmapData;
 
function getBitmap(link:String):BitmapData
{
	var bmp:BitmapData = BitmapData.loadBitmap(link);
	return bmp;
}
На сцене там ничего нет, в каждой либе просто экспортированные картинки, linkage которых - последовательно типа 0001.png .... 0179.png, 0189.png .... 0359.png, и так по 4 либы до 720 кадров.
Ну это просто так нужно было. Секвенция на 720 кадров полностью не влезала в одну либу.

После загрузки всех библиотек в основной флешке вызов был достаточно прост, происходил на onEnterFrame:
Код AS1/AS2:
function showFrame() 
{
	...
	container.bmp.dispose(); //удаляем предыдущую битмапу
	var currentLib:MovieClip = //функция, вычисляющая текущую библиотеку
	var linkageId:String = //функция, формирующая linkage
	var bmp:BitmapData = currentLib.getBitmap(linkageId);
	container.attachBitmap(bmp, 0); //аттачим новую
	...	
}
Загруженные библиотеки скрыто лежат на сцене.

Контейнеров у меня было не множество, а один, но битмапа таким образом аттачилась по EnterFrame с большой скоростью.. это была покадровая анимация больших растровых изображений.
Все эти нюансы вам, наверное, не важны, я просто обрисовал принцип ..
__________________
Идите первым!


Последний раз редактировалось mooncar; 12.05.2011 в 17:34.