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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.07.2007, 14:54
this.create вне форума Посмотреть профиль Отправить личное сообщение для this.create Найти все сообщения от this.create
  № 11  
Ответить с цитированием
this.create

Регистрация: Feb 2007
Сообщений: 264
Цитата:
Сообщение от Anait Sagoyan
Интересно, но почему тогда размытие не проходит к тому моменту, когда мувик доходит до конечной координаты? Ведь в этом и вся суть, что размытие должно быть именно в процессе движения, но не в момент статического состояния.
Код:
/* mc - мувиклип на сцене. Как его туда поместить решайте сами.*/
//
import flash.filters.BlurFilter;
import mx.transitions.*;
import mx.transitions.easing.*;
//
var prevX:Number = mc._x;
var blurStrength:Number = 5;
//
var tw:Tween = new Tween(mc, '_x', Strong.easeOut, 10, Stage.width-mc._width, 2, true);
tw.onMotionChanged = function():Void  {
	var dif:Number = ((mc._x-prevX)/10)*blurStrength;
	prevX = mc._x;
	if (dif>5) {
		dif = 5;
	}
	var ar:BlurFilter = mc.filters[0];
	if (ar) {
		ar.blurX = ar.blurY=dif;
	} else {
		ar = new BlurFilter(0, 0, 2);
	}
	mc.filters = [ar];
};
tw.onMotionStopped = function():Void  {
	mc.filters = [];
};
А так?


Последний раз редактировалось this.create; 09.07.2007 в 15:05.
Старый 09.07.2007, 16:13
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 12  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ага, только это совсем не моушн блюр, this.create.
Это проходящий блюр. Чтобы было похоже, надо под неразмытым шариком пускать размытый, на некотором отдалении, как бы отстающий. Ну и, наверное, неразмытому альфу поставить где-то 80%.
__________________
Reality.getBounds(this);

Старый 09.07.2007, 18:52
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 13  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Вот, выложил исходник
__________________
Reality.getBounds(this);

Старый 09.07.2007, 19:54
Anait Sagoyan вне форума Посмотреть профиль Отправить личное сообщение для Anait Sagoyan Посетить домашнюю страницу Anait Sagoyan Найти все сообщения от Anait Sagoyan
  № 14  
Ответить с цитированием
Anait Sagoyan
 
Аватар для Anait Sagoyan

Регистрация: Jun 2007
Адрес: Earth
Сообщений: 11
Отправить сообщение для Anait Sagoyan с помощью ICQ
Спасибо вам за исходник! Вы мне им очень помогли, ведь это именно то, что я искала все эти дни и не находила своими силами.
__________________
www.coursebird.com

Старый 09.07.2007, 20:22
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 15  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
О нет, спасибо LiQuiDaToR'у. За то, что не только сделал это, но и поделился со всеми. Еще раз удачи!
__________________
Reality.getBounds(this);

Старый 09.07.2007, 20:38
Therion вне форума Посмотреть профиль Отправить личное сообщение для Therion Найти все сообщения от Therion
  № 16  
Ответить с цитированием
Therion
 
Аватар для Therion

Регистрация: Aug 2005
Сообщений: 785
Блик как там всё намудренно
а ведь можно всё намного проще сделать....
Код:
import flash.filters.BlurFilter;
obj.onEnterFrame = function() {
	X = _xmouse-this._x;
	Y = _ymouse-this._y;
	D = Math.sqrt(X*X+Y*Y)/10;
	this._x += X/8;
	this._y += Y/8;
	var filter:BlurFilter = new BlurFilter(Math.abs(X/8), Math.abs(Y/8), 1);
	var filterArray:Array = new Array();
	filterArray.push(filter);
	this.filters = filterArray;
};
__________________
Нано-флешер (в отставке)

Старый 09.07.2007, 21:03
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 17  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Therion, неужели ты разницы не видишь? Совсем-совсем?
Попробуй провести свой обж по диагонали.
Заодно обрати внимание на производительность.
__________________
Reality.getBounds(this);

Старый 09.07.2007, 21:21
Therion вне форума Посмотреть профиль Отправить личное сообщение для Therion Найти все сообщения от Therion
  № 18  
Ответить с цитированием
Therion
 
Аватар для Therion

Регистрация: Aug 2005
Сообщений: 785
ну да, по диагонали эффект не такой...но производительность вроде не хуже...
__________________
Нано-флешер (в отставке)

Старый 10.07.2007, 10:22
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 19  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
О нет, гораздо хуже, извини. В результате действия твоего скрипта объект мигает как патрульная машина и всё таки скорее просто размывется, чем размывается в определенном направлении. Поверь, если бы такой эффект можно было создать нахрапом, с первого наброска... Но нет, здесь продумать надо, сначала декодировать явление, а уж потом закодировать его в ас. А производительность - момент настолько тонкий, что под силу только ниндзям, знающим особенности аппаратной работы.
В этом уникальность кода LiQuiDaToR'а. Со всем уважением.
__________________
Reality.getBounds(this);

Старый 10.07.2007, 11:21
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 20  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Therion, это не Motion Blur. Motion Blur действует параллельно вектору скорости, а у тебя вообще просто размывает объект.

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

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

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


 


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


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