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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.01.2008, 18:24
Torero вне форума Посмотреть профиль Отправить личное сообщение для Torero Найти все сообщения от Torero
  № 1  
Ответить с цитированием
Torero
[+1.4 18.06.07]
 
Аватар для Torero

Регистрация: May 2007
Адрес: Moscow
Сообщений: 263
По умолчанию Прямоугольная подсветка.(GlowFilter)

День добрый.
С фильтрами раньше сталкивался только вскользь - сейчас озадачился следующим вопросом: можно-ли наложить GlowFilter на прямоугольный спрайт так, чтобы свечение вокруг него было равномерным. Если да, то как?

Код:
package {
import flash.display.Shape
import flash.display.Sprite
import flash.filters.GlowFilter;
import flash.filters.BitmapFilterQuality;

	public class Test extends Sprite {
public function Test() {
	var gf:GlowFilter=new GlowFilter();
	var sh:Shape=new Shape();
	gf.color=0x0000FF;
	gf.blurX=gf.blurY=15
	gf.quality=10;
	with(sh.graphics){
		beginFill(0,1);
		drawRect(100,100,100,100);
		endFill();
	}
	sh.filters=[gf];
	addChild(sh);
}
	}
}
При выполнении этого кода, подсветка на углах прямоугольника менее интенсивна. Судя по всему, она накладывается радиально..
__________________
А я Томат.


Последний раз редактировалось Torero; 03.01.2008 в 18:27.
Старый 03.01.2008, 18:34
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 2  
Ответить с цитированием
aQuestion
Banned
[+5 08.09.07]
[+4 17.01.08]
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
как насчёт
Код:
	gf.blurX=gf.blurY=35
	gf.quality=1;

Старый 03.01.2008, 18:42
Torero вне форума Посмотреть профиль Отправить личное сообщение для Torero Найти все сообщения от Torero
  № 3  
Ответить с цитированием
Torero
[+1.4 18.06.07]
 
Аватар для Torero

Регистрация: May 2007
Адрес: Moscow
Сообщений: 263
можно еще и "gf.strength=10" установить.. а смысл?
Вопрос в том, как сделать чтобы GF рисовался не радиально.. (при этом оставаясь подсветкой, а не превращаясь в некое подобие заливки)
__________________
А я Томат.


Последний раз редактировалось Torero; 03.01.2008 в 18:45.
Старый 03.01.2008, 19:52
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 4  
Ответить с цитированием
aQuestion
Banned
[+5 08.09.07]
[+4 17.01.08]
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
чем больше "качество", тем сильнее его размывает из прямоугольника в округлое пятно.

Старый 04.01.2008, 12:31
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 5  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
в сути своей это тот же объект, залитый цветом подсветки и размытый по Гауссу, а сие размытие всегда приводит к округлению углов. В сети есть формулы расчетов уравнений для подсчета Гауссовой размытости... поищите и убедитесь сами.

Старый 04.01.2008, 15:19
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 6  
Ответить с цитированием
aQuestion
Banned
[+5 08.09.07]
[+4 17.01.08]
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
Как вариант:
Код:
import flash.display.Shape
import flash.display.Sprite
import flash.filters.DropShadowFilter;
import flash.filters.BitmapFilterQuality;

var foo:Number = 7;
var sh2:Shape = new Shape ();
with(sh2.graphics){
	beginFill(0,1);
	moveTo(100 - foo, 100 - foo);
	lineTo(100 + 100/2, 100); lineTo (100 + 100 + foo, 100 -foo);
	lineTo(100 + 100, 100 + 100/2); lineTo (100 + 100 + foo, 100 + 100 + foo);
	lineTo(100 + 100/2, 100 + 100); lineTo (100 - foo, 100 + 100 + foo);
	lineTo(100, 100 + 100/2);
	endFill();
}

var gf:DropShadowFilter=new DropShadowFilter();
gf.color=0x0000FF;
gf.blurX=gf.blurY=15
gf.quality=10;
gf.hideObject = true;
gf.distance = 0;
gf.strength = 1.5;
sh2.filters=[gf];
addChild(sh2);

var sh:Shape=new Shape();
with(sh.graphics){
	beginFill(0,1);
	drawRect(100,100,100,100);
	endFill();
}
addChild(sh);

Старый 04.01.2008, 21:59
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 7  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
а где вы взяли quality=10?
этот параметр принимает три значения, которые описывают константы класса BitmapFilterQuality

Старый 05.01.2008, 02:38
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 8  
Ответить с цитированием
aQuestion
Banned
[+5 08.09.07]
[+4 17.01.08]
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
єтот параметр равен количеству пассов, а в названном классе определені ходовіе значения, только и всего.

Старый 05.01.2008, 16:57
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 9  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
насколько мне известно: все что выше 3 принимает значение 3
посмотрите сами на разницу установленного качества в 3 и в 10

Старый 05.01.2008, 17:32
aQuestion вне форума Посмотреть профиль Найти все сообщения от aQuestion
  № 10  
Ответить с цитированием
aQuestion
Banned
[+5 08.09.07]
[+4 17.01.08]
 
Аватар для aQuestion

Регистрация: Dec 2005
Сообщений: 556
Цитата:
Сообщение от Help
For most applications, a quality value of low, medium, or high is sufficient. Although you can use additional numeric values up to 15 to achieve different effects, higher values are rendered more slowly.
.....

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

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

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


 


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


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