![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2009
Сообщений: 19
|
Мне необходимо заменить векторный муви клип на растеризованный растровый, т.е.
закэшиовать объект для анимации. Свойство cacheAsBitmap не подходит, т.к. при вращении клипа подложка постоянно пересоздается, что еще больше ухудшает ситуацию с производительностью. функция растеризации: private function rasterizeMovieClip(obj:MovieClip)
{
//берем родителя у векторного муви клипа
var _parent = obj.parent;
//идекс глубины векторного муви клипа
var level:int = _parent.getChildIndex(obj);
//создаем пустой муви клип
var bd_mc:MovieClip = new MovieClip();
//создаем пустую картинку
var bd:BitmapData = new BitmapData(obj.width,obj.height,true,0x00000000);
//вроде, как заполняем картинку исходя из векторной картинки?
bd.draw(obj);
//добавляем растровую картинку в наш новый муви клип,
//но у меня выводится ошибка: "Параметр child не должен быть равен нулю"?
bd_mc.addChildAt( (bd as DisplayObject),0);
//берем положение из векторного муви клипа
bd_mc.x = obj.x;
bd_mc.y = obj.y;
//удаляем векторный муви клип из родителя
_parent.removeChildAt(obj,level);
//удаляем из памяти. Сборщик мусора удалит этот клип из памяти со всей графикой?
obj = null;
//добавляем родителю наш новый растровый муви клип с нужным индексм векторного муви клипа
_parent.addChildAt(bd_mc, level);
}
2.//удаляем из памяти. Сборщик мусора удалит этот клип из памяти со всей графикой? Последний раз редактировалось Рен; 05.10.2009 в 20:04. |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 93
|
1. Bitmap и BitmapData разные вещи.
2. Да. Вот как надо: |
|
|||||
|
Регистрация: Jul 2009
Сообщений: 19
|
Спасибо помогло, но есть момент. У меня в векторном клипе находится колесо от машины и центр его это координаты 0,0, чтобы оно крутилось вкруг своей оси. Но, когда я вызываю bd.draw(obj);, то копируется лишь 1/4 часть колеса в bmpData, т.е. та часть координаты которой лежат за 0,0.
Как мне лучше всего плностью скпирвать в bmpData колесо при таких координатах колеса в векторном муви клипе? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Matrix.
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 19
|
Matrix. - помогло.
Еще возник вопрос, теперь у меня есть клип с растровым колесом, отлично визуально выглядит, но теперь нужно у растрового клипа сделать центральную точку вращения, чтобы колесо могло вращаться как положено. Т.е. как задается программно точка вращения у клипа? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Либо через transform, либо просто в контейнер типа Sprite положить битмап со смещенными координатами и вращать потом спрайт.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|