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

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

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

Регистрация: Aug 2003
Адрес: Санкт-Петербург
Сообщений: 246
Отправить сообщение для Crash512 с помощью Skype™
По умолчанию Как граммотно создать цветовую карту для DisplaceMap?

Доброго времени суток, господа!

Вопрос в следующем: как создаются карты для эффекта DisplacementMapFilter? Посмотрев исходник товарища iNils, я увидел, что вот такая карта (см.вниз) делает такое искажение (см.вниз-вправо). Как добиться других искажений, я плохо понял. Пытался эксперементировать с градиентов в фотошопе, но выходит всякий неадекват. Нужны мне следующие формы - (см. прикреплённый файл с формами).

Код:
var bmp = BitmapData.loadBitmap("displacementMap2");
mc.filters = [new DisplacementMapFilter(bmp, new Point(),1, 4, 0, 450, 'color',0xffffff, 0x00)];
Насколько я понял, синий цвет здесь выбран в качестве смещения координаты Х... Но как добиться идеальной нужной формы?

Если кто может помочь советом, я буду очень благодарен. Заранее всем спасибо...
Изображения
   


Последний раз редактировалось Crash512; 19.06.2008 в 01:13.
Старый 19.06.2008, 10:29
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
http://www.flasher.ru/forum/showthread.php?t=112053

Старый 19.06.2008, 12:56
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 3  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
имхо, дешевле будет получить карту не градиентами, а через setPixel, обычной арифметикой вычисля смещение
подправленный на setPixel пример из хелпа:
Код:
import flash.filters.DisplacementMapFilter;
import flash.display.BitmapData;
import flash.geom.Point;


var txtBlock:MovieClip = createTextBlock();
var mapBitmap:BitmapData = createMap(txtBlock._width, txtBlock._height);
var filter:DisplacementMapFilter = new DisplacementMapFilter(mapBitmap, new Point(0,10), 1, 1, 0, 200, "clamp", 0, 0);

txtBlock.filters = [filter];

function createMap(w:Number, h:Number):BitmapData 
{
	var bmp:BitmapData = new BitmapData(w, h);
	for(var i=0;i<w;i++){
		for(var j=0;j<h;j++){
			var r=int(128*(1+i/w*j/h));
			bmp.setPixel(i,j,r<<16);
		}
	}
	return bmp;
}

function createTextBlock():MovieClip 
{
	var txtBlock:MovieClip = this.createEmptyMovieClip("txtBlock", this.getNextHighestDepth());
	txtBlock.createTextField("txt", this.getNextHighestDepth(), 0, 0, 0, 0);
	txtBlock.txt.autoSize="left";
	txtBlock.txt.text = "TEXT & filter";
	txtBlock.txt.setTextFormat(new TextFormat("_sans",48,0, true));
	return txtBlock;
}

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

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

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


 


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


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