![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
|
Есть библиотека MovieClip'ов, которую я подгружаю так:
contentHolder = createEmptyMovieClip("contentHolder", 1); var myLoader:MovieClipLoader = new MovieClipLoader(); myLoader.loadClip("H3IconListLibrary.swf", contentHolder); Как я знаю из загруженной флешки нельзя получить в основную флешку мувклип, и с битмапом у меня ничего не получилось. Отсюда вопрос: как быть, если мне нужно из этой библиотеки загрузить множество клипов в множество контейнеров? Так же как это отразится на производительности и памяти? |
|
|||||
|
Модрон-ветеринар
|
По поводу битмапы - приведу свой пример.
В последнем проекте у меня, например, грузится по 4 библиотеки для каждого этажа здания, всего на 720 кадров на каждый этаж, так было. Получение битмапы для аттача на сцену прописано в самой скомпилированной библиотеке: import flash.display.BitmapData; function getBitmap(link:String):BitmapData { var bmp:BitmapData = BitmapData.loadBitmap(link); return bmp; } Ну это просто так нужно было. Секвенция на 720 кадров полностью не влезала в одну либу. После загрузки всех библиотек в основной флешке вызов был достаточно прост, происходил на onEnterFrame: 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. |
|
|||||
|
Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
|
Спасибо за ответ. Т.е. Вы создавали статические элементы с помощью библиотек?
У меня ситуация такова: есть окно, в котором ScrollingList. Он состоит из контейнера Item'ов и скроллбара. В скролллист параметры передаются массивом: [linkageId:String,...]. А затем: По другому к элементам скроллинглиста обращаться никак нельзя - спецификация Scaleform. Отсюда вопрос: как передавать из контейнера в массив, для дальнейшей работы? |
|
|||||
|
Модрон-ветеринар
|
А где выполнятся это "затем"?
В самом компоненте? Или вы пишите? Добавлено через 2 минуты Если сами, то зачем массив передавать, если вы сами же и аттачите? Можно сделать библиотеку, в нее прописать нужный метод сразу, а потом его вызывать с передачей ему параметров - Icons(element), linkageId.
__________________
Идите первым! |
|
|||||
|
Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
|
Прошу прощения, что не ясно выразился.
"Затем" - это расширенный класс для дефолтного отрисовщика элементов для скролллиста. Так же не просто массив, а массив объектов. Массив нужен затем, что у меня 5 видимых элементов в этом скролллисте, а их может быть бесконечно много. Так же там хранится дополнительная информация, которая отсылается, например при нажатии на какой-то айтем. Получается так, я передаю компоненту ScrollingList массив объектов: Он сам смотрит что отрисовывать, затем инициализирует Х элементов для показа, передавая каждому свой obj. Я лишь переопределил что из этого объекта куда пихать. Добавлено через 6 минут А в этих айтемах есть мувклип icon и 2 тексфилда. И именно в этот мувклип я и хочу добавлять элементы из библиотеки |
|
|||||
|
Модрон-ветеринар
|
Понятно.
Нет, вряд ли я смогу подсказать что-то большее, как работать с библиотекам. Поищите по форуму, я при необходимости нашел тут нужную инфу по своему смежному с вашим вопросу.
__________________
Идите первым! Последний раз редактировалось mooncar; 14.05.2011 в 10:49. |
|
|||||
|
Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
|
Спасибо большое, буду дальше искать
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|