![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Hello, world.
Появилось желание сделать такой эффект. К примеру на стейдже до 30-ти мувиклипов. И есть один, полупрозрачный, который можно тягать по рабочей области, и все мувики, что попадают под него, размываются. Реально ли это сделать через BitmapData + маска? 1. При активации нашего главного размывающего мувика, делаем "снимок всего экрана". 2. Размываем этот снимок и кладем поверх стейджа. 3. Наш главный мувик(который мы тягаем) - маска. Подскажите плиз, в какую сторону копать/правильный алгоритм? Не будет ли это жрать ресурсы сильно? Спасибо. Последний раз редактировалось sweet_fighter; 20.05.2011 в 02:09. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
> 1. А есть уверенность, что под мувиком при этом не будет никакой анимации?))
> 2. Зачем "класть", зачем вообще экранный объект. Есть битмапдата экрана, берёте с неё нужный ректангл и отрисовываете на фон мувика. > 3. Маска это здорово, только самого мувика тогда не будет)). Вобщем можно разными путями сделать, и наверное маска даже менее затратна по ресурсам. Только, конечно, не мувик=маска, а отдельный шейп, повторяющий форму мувика и перемещающийся вместе с ним.
__________________
Reality.getBounds(this); |
|
|||||
|
Цитата:
2. ..вот это интересно. спасибо. Вот, есть что-то похожее. Но он не работает для мувиклипов, которые создаются программно. Только для библиотечных. http://blog.onebyonedesign.com/actio...e-window-blur/ Последний раз редактировалось sweet_fighter; 20.05.2011 в 02:45. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Когда-то делал на AS2 еще. Ну или AS1)))
http://flasher.ru/forum/showthread.php?t=114105&page=2
__________________
Reality.getBounds(this); |
|
|||||
|
Banned
Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
А я делал и с анимацией ) Правда притормаживает при отрисовке, и процессор на ноуте грузился на 80%
В общем идея такая: var imageToDrawOn:Bitmap = new Bitmap(new BitmapData(200, 200)); // создаем картинку, в которую будем отрисовывать объект imageToDrawOn.filters = [new BlurFilter(10, 10, 3)]; // размываем stage.addChild(imageToDrawOn); //потом по энтер фрейму отрисовываем в него сцену private function onEnterFrame(e:Event):void { var matrix:Matrix = new Matrix(); matrix.translate(-10, -10); // если картинка, в которую должна отрисоваться сцена сдвинута, например, на 10 пикселей, то вид сцены смещаем на 10 в противоположную сторону imageToDrawOn.visible = false; // чтобы картинка сама в себя не отрисовалась imageToDrawOn.bitmapData.dispose(); // убиваем битмап дату, чтобы каждый раз использовать чистую (здесь этого можно и не делать) imageToDrawOn.bitmapData = new BitmapData( 200, 200); imageToDrawOn.bitapData.draw(stage, matrix); imageToDrawOn.visible = true; // делаем снова видимой } Такой способ и анимацию отрисует без проблем Последний раз редактировалось goodguy; 20.05.2011 в 07:56. |
|
|||||
|
Цитата:
__________________
тут я |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|