Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 20.05.2011, 02:04
sweet_fighter вне форума Посмотреть профиль Отправить личное сообщение для sweet_fighter Найти все сообщения от sweet_fighter
  № 1  
Ответить с цитированием
sweet_fighter
 
Аватар для sweet_fighter

Регистрация: Apr 2008
Адрес: Kiev, Ukraine
Сообщений: 43
Отправить сообщение для sweet_fighter с помощью ICQ
По умолчанию Размытие всего, что находится под мувиклипом

Hello, world.
Появилось желание сделать такой эффект.

К примеру на стейдже до 30-ти мувиклипов. И есть один, полупрозрачный, который можно тягать по рабочей области, и все мувики, что попадают под него, размываются.

Реально ли это сделать через BitmapData + маска?

1. При активации нашего главного размывающего мувика, делаем "снимок всего экрана".
2. Размываем этот снимок и кладем поверх стейджа.
3. Наш главный мувик(который мы тягаем) - маска.

Подскажите плиз, в какую сторону копать/правильный алгоритм?
Не будет ли это жрать ресурсы сильно?

Спасибо.


Последний раз редактировалось sweet_fighter; 20.05.2011 в 02:09.
Старый 20.05.2011, 02:25
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
> 1. А есть уверенность, что под мувиком при этом не будет никакой анимации?))
> 2. Зачем "класть", зачем вообще экранный объект. Есть битмапдата экрана, берёте с неё нужный ректангл и отрисовываете на фон мувика.
> 3. Маска это здорово, только самого мувика тогда не будет)).
Вобщем можно разными путями сделать, и наверное маска даже менее затратна по ресурсам. Только, конечно, не мувик=маска, а отдельный шейп, повторяющий форму мувика и перемещающийся вместе с ним.
__________________
Reality.getBounds(this);

Старый 20.05.2011, 02:42
sweet_fighter вне форума Посмотреть профиль Отправить личное сообщение для sweet_fighter Найти все сообщения от sweet_fighter
  № 3  
Ответить с цитированием
sweet_fighter
 
Аватар для sweet_fighter

Регистрация: Apr 2008
Адрес: Kiev, Ukraine
Сообщений: 43
Отправить сообщение для sweet_fighter с помощью ICQ
Цитата:
Сообщение от Wolsh Посмотреть сообщение
> 1. А есть уверенность, что под мувиком при этом не будет никакой анимации?))
> 2. Зачем "класть", зачем вообще экранный объект. Есть битмапдата экрана, берёте с неё нужный ректангл и отрисовываете на фон мувика.
> 3. Маска это здорово, только самого мувика тогда не будет)).
Вобщем можно разными путями сделать, и наверное маска даже менее затратна по ресурсам. Только, конечно, не мувик=маска, а отдельный шейп, повторяющий форму мувика и перемещающийся вместе с ним.
1. Увереность 100% =) Я же экспериментирую..)
2. ..вот это интересно. спасибо.

Вот, есть что-то похожее. Но он не работает для мувиклипов, которые создаются программно. Только для библиотечных.
http://blog.onebyonedesign.com/actio...e-window-blur/


Последний раз редактировалось sweet_fighter; 20.05.2011 в 02:45.
Старый 20.05.2011, 02:47
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Когда-то делал на AS2 еще. Ну или AS1)))
http://flasher.ru/forum/showthread.php?t=114105&page=2
__________________
Reality.getBounds(this);

Старый 20.05.2011, 07:53
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
А я делал и с анимацией ) Правда притормаживает при отрисовке, и процессор на ноуте грузился на 80%

В общем идея такая:
Код AS3:
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.
Старый 20.05.2011, 08:36
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Когда-то делал на AS2 еще. Ну или AS1)))
А вот: http://silin.su/#AS2/glass
__________________
тут я

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:46.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.