|
|
|||||
Регистрация: Jun 2013
Сообщений: 65
|
очистить значение BitmapData
Здравствуйте!
Использую. кеширование для растровых анимаций с помощью этого метода (это не весь метод, а только часть). но при воспроизведении кешированых мувиков - ужасно растет опретивка пользователя(до 2 Гб). var bmpd:BitmapData = new BitmapData(Math.ceil(r.width), Math.ceil(r.height), true, 0x00000000); // Кэшируем клип var m:Matrix = new Matrix(); var n:int = clip.totalFrames; for (var i:int = 1; i <= n; i++) { clip.gotoAndStop(i); allChildGotoFrame(clip, i); var bmpd:BitmapData = new BitmapData(Math.ceil(r.width), Math.ceil(r.height), true,0x00000000); m.identity(); m.translate(-r.x, -r.y); m.scale(clip.scaleX, clip.scaleY); bmpd.draw(clip, m); frames[frames.length] = bmpd; } var bmpd:BitmapData = new BitmapData(Math.ceil(r.width), Math.ceil(r.height), true,0x00000000); вынести за пределы цикла, то оперативка спадает до 400мб(что очень круто!) но если так сделать то получается что изображения одного роллика налаживаются олдин на другой. подскажите, пожалуйста, как это исправить. как удалять значение bmpdб но при этом чтоб не влияло на значение frames[frames.length]? |
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
В данном случае лучше не кешировать, или у вас очень много кадров, или сам мувик очень большой.
|
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Битмапдата вычищается из памяти методом dispose().
|
|
|||||
Регистрация: Jun 2013
Сообщений: 65
|
да, dispose() хороший метод, но применив его к bmpd очищается и значение frames[frames.length] , поскольку frames[frames.length] = bmpd;
|
|
|||||
Banned
[+1 06.12.14]
[+1 18.12.14] [+1 30.12.14] Регистрация: Aug 2014
Сообщений: 461
|
А что такое frames и где его длина увеличивается?
|
|
|||||
Импортируйте ваши анимации в PNG секвенции и добавляйте их в MovieClip во Flash IDE
__________________
if (love is true) break my.heart; |
|
|||||
BitmapData#fillRect
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
.
|
Какая необходимость вызвала желание кэшировать растровые анимации? Векторная пересчитывается, согласен.
|
Часовой пояс GMT +4, время: 20:38. |
|
« Предыдущая тема | Следующая тема » |
|
|