![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 49
|
Допустим на экране флешки играются куча мувиков, с разными масками и по кнопкам. Но дело не в этом. Мне нужно все это сграбить как одну картинку. По принципу буффера. Есть ли что то подобное в флеш, или как можно подобного добиться?
|
|
|||||
|
|
|
|||||
|
Регистрация: Jul 2011
Сообщений: 49
|
FlashRus, эмм " ищи тут"? "что найдеш то твое"? Мнеб для AS2.
|
|
|||||
|
Модрон-ветеринар
|
Если уж говорить о способах хранения данных, то для AS2 вот правильная справка: SharedObject.
Но видимо автора интересует в первую очередь - как собственно "сграбить". Для этого можно воспользоваться методом BitmapData.draw(), применив его для общего контейнера, где все это находится. В дальнейшем полученной битмапой можно закрасить произвольный мувик с помощью attachBitmap.
__________________
Идите первым! |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 49
|
mooncar, да точно это оно. Я с ним не сталкивался раньше. Мог бы ктонибудь описать последовательность работы с командой в кратце? создаю new BitmapData добавляю аттачем туда мувки и заливаю одним большим мувиком с помощью draw()? Верно или совсем не так?
|
|
|||||
|
Модрон-ветеринар
|
Совсем не так - срисовываем с контейнера с помощью draw в новосозданную битмапу, а потом ее добавляем, куда надо с помощью attachBitmap.
Вот тут есть пример использования такого подхода. Только не забываем импортировать класс Bitmapdata в проект.
__________________
Идите первым! |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 49
|
mooncar,Пасиб огромное, пример про то чего я и пытаюсь добиттся)) А как думаеш такие большие пиксили просто частный случай? Если разрешение хорошее такого не будет?
|
|
|||||
|
Модрон-ветеринар
|
В том примере пиксели видны только при программном увеличении. Если вы растеризуете, а потом добавите куда-то векторный контент, то разницы не заметите.
Ну и еще поэкспериментируйте с параметром, отвечающим за сглаживание в методе draw.
__________________
Идите первым! |
|
|||||
|
Регистрация: Jul 2011
Сообщений: 49
|
правильно ли я разобрался?
function rasterizeMovieClip(obj, bdLev) { //подгружаем мув и его глубину var _par = obj._parent; // определяем родителя. var _lev = (bdLev) ? bdLev : _par.getNextHighestDepth(); // если глубина не подгружина определяем. var bd_mc = _par.createEmptyMovieClip(obj._name + "BD", _lev); // в родителе мув создаем еще один мув var bd = new flash.display.BitmapData(obj._width, obj._height, true, 0x00000000); // здесь не совсем понятно bd.draw(obj); // пишем в новоиспеченную область наш первый мув bd_mc.attachBitmap(bd,bd_mc.getNextHighestDepth());// добавляем в мув2 область bd с мувиком1 на его глубине. bd_mc._x = obj._x;// перемещаем bd_mc._y = obj._y; obj.swapDepths(_par.getNextHighestDepth()); //перемещаем первый мув выше по глубине. obj.removeMovieClip(); // вот тут не понятно зачем удаляем мув1 } Последний раз редактировалось MIHAnik; 06.02.2013 в 12:51. |
|
|||||
|
Модрон-ветеринар
|
Да, суть вы верно уловили.
Название не obj , поскольку это аргумент функции. Просто ее применяете (второй арг. не обязателен): где имя_вашего _контейнера - это инстанс-нейм мувика на сцене (т.е. не библиотечное имя, а имя экземпляра). Все это приведет к замене векторного контента на растровый.
__________________
Идите первым! |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|