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

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

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

Регистрация: Jan 2010
Сообщений: 26
По умолчанию Наложить GlowFilter на PNG и закешировать

Есть картинка PNG в библиотеке.
Края полупрозрачные.

Я добавляю ее на Sprite
Код AS3:
	import flash.display.Sprite;
 
	var img:Sprite = new Sprite();
	img.graphics.beginBitmapFill(new craft_img(0, 0), null, false, true);
	img.graphics.drawRect(0, 0, 50, 50);
	img.graphics.endFill();
	addChild(img);
Потом добавляю на спрайт- фильтр Glow
Код AS3:
	import flash.filters.GlowFilter;
	import flash.filters.BitmapFilterQuality;
 
	var glow:GlowFilter = new GlowFilter();
            glow.color = 0x000000;
            glow.alpha = 0.4;
            glow.blurX = 5;
            glow.blurY = 5;
            glow.strength = 2;
            glow.quality = BitmapFilterQuality.HIGH;
	img.filters = [glow];
А после этого хочется как нибудь закешировать то что получилось в PNG виде.

наподобие img2 = img.CacheAsBitmap;

И использовать на сцене PNG картинку на которой уже нарисован Glow в виде прозрачностей, вместо того чтоб машина каждый кадр перерисовывала фильтр.

Возможен такой "рендеринг"?

Старый 01.03.2010, 22:22
MrPoma вне форума Посмотреть профиль Отправить личное сообщение для MrPoma Посетить домашнюю страницу MrPoma Найти все сообщения от MrPoma
  № 2  
Ответить с цитированием
MrPoma
 
Аватар для MrPoma

Регистрация: Jul 2006
Адрес: Питер
Сообщений: 2,083
Отправить сообщение для MrPoma с помощью Skype™
BitmapData.applyFilter
__________________
жж | твттр | гглплс | фсбк | вкнткт | гтхб

Старый 01.03.2010, 22:32
sltt вне форума Посмотреть профиль Отправить личное сообщение для sltt Найти все сообщения от sltt
  № 3  
Ответить с цитированием
sltt

Регистрация: Jan 2010
Сообщений: 26
О, спасибо!
Код AS3:
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Point;
import flash.geom.Rectangle;
import flash.filters.BlurFilter;
 
var bmd:BitmapData = new BitmapData(80, 30, false, 0xFFCC00);
var rect:Rectangle = new Rectangle(10, 10, 40, 10);
bmd.fillRect(rect, 0xFF0000);
 
var pt:Point = new Point(10, 10);
var filter:BlurFilter = new BlurFilter();
bmd.applyFilter(bmd, rect, pt, filter);
 
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);

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

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

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


 


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


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