Показать сообщение отдельно
Старый 20.05.2010, 14:07
serdeles вне форума Посмотреть профиль Отправить личное сообщение для serdeles Найти все сообщения от serdeles
  № 1  
Ответить с цитированием
serdeles

Регистрация: May 2003
Адрес: Москва
Сообщений: 186
По умолчанию Управление размытием (Blur)

Взял за основу этот код (отсюда: http://www.flasher.ru/forum/showpost...postcount=10):

Код AS1/AS2:
// Импортируем класс фильтра
import flash.filters.BlurFilter;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
////
var blur:BlurFilter = new BlurFilter(10, 10, 3);
////	
blur_button.onPress = function(){
	var bmp:BitmapData = new BitmapData(Stage.width, Stage.height, false, 0xFFFFFF);
	this._visible = false;
	var rect:Rectangle = new Rectangle(0,0,Stage.width, Stage.height);
	var point:Point = new Point(0,0);
	bmp.draw(_root);
	_root.attachBitmap(bmp, _root.getNextHighestDepth(), "auto", true);
	bmp.applyFilter(bmp,rect,point,blur);
	this.swapDepths(_root.getNextHighestDepth());
	this._visible = true;
	var mes:MovieClip = _root.attachMovie("message","msg_mc",_root.getNextHighestDepth(),{_x:125, _y:140});
	mes.close_btn.onPress = function(){
		bmp.dispose();
		_root.blur_button.enabled = true;
		this._parent.removeMovieClip();
	}
	this.enabled = false;
}
Возникло два вопроса.

1. Хочу каким-то образом вклинить в него строчку с интервалом (для того, чтобы размытие происходило плавно). Что-то наподобие этого:

Код AS1/AS2:
setInterval(setBlur, 20, target_mc, 100, 10);//старт применения блюра в 10 шагов с 0 до 100 с промежутком между шагами в 20 mc
Но не знаю, как это сделать, и вообще, реально ли это применить к данному коду.

2. Один из мувиков должен находиться как бы на верхнем слое. То есть: всё, что ниже, заблёрено. Я так понимаю, в код с размытием надо прописать исключение — имя мувика, который не будет заблёрен. Подскажите, как это сделать.
__________________
Достал уж всех своими глупыми вопросами...


Последний раз редактировалось serdeles; 20.05.2010 в 14:10.