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

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

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

Регистрация: Jul 2011
Адрес: где-то на планете земля
Сообщений: 23
Question Дергает картинку и фильтры на сцену

Собственно два вопроса.
1. Во флешке двигаются картинки, при очень медленном перемещении все более-мение смотрибельно, но если увеличить скорость, то картинка дергается(горизонтальные полосы). Как реализовать во флеше двойную буферизацию или другой способ избавиться от побочного эффекта рендеринга?
2. Нашел в инете любопытную статью, думал попробовать поэкспериментировать, однако в AS3 код отказался работать, подскажите в чем загвоздка?
собственно сам код (по идее должен добавить эффект размытия сцены, но не тут то было):
Код AS3:
var backBuffer:BitmapData;
var b:Bitmap = new Bitmap(backBuffer,PixelSnapping.ALWAYS);
var blur_filter:BlurFilter = new BlurFilter(10,10,2);
 
backBuffer = new BitmapData(stage.stageWidth, stage.stageHeight, false);
addChild(b); 
b.blendMode="normal";
addEventListener(Event.ENTER_FRAME, update);
 
function update(e : Event):void 
{ 
	b.visible=false;
	backBuffer.lock();
	backBuffer.draw(this,null,null,null,new Rectangle(0,0,stage.stageWidth, stage.stageHeight));
	backBuffer.applyFilter(backBuffer, new Rectangle(0,0,stage.stageWidth, stage.stageHeight), new Point(0, 0), blur_filter);
	backBuffer.unlock();
	b.visible=true;
}
заранее спасибо


Последний раз редактировалось lolsuicide; 14.07.2011 в 18:22.
Старый 15.07.2011, 13:06
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 2  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Код AS3:
var backBuffer:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, false);
var b:Bitmap = new Bitmap(backBuffer,PixelSnapping.ALWAYS);
	b.blendMode = BlendMode.OVERLAY;
var blur_filter:BlurFilter = new BlurFilter(10,10,1);
	backBuffer.draw(this,null,null,null,new Rectangle(0,0,stage.stageWidth, stage.stageHeight));
	backBuffer.applyFilter(backBuffer, new Rectangle(0,0,stage.stageWidth, stage.stageHeight), new Point(0, 0), blur_filter);
 
addChild(b); 
addEventListener(Event.ENTER_FRAME, update);
 
function update(e : Event):void 
{ 
	b.visible=false;
	backBuffer.lock();
	backBuffer.fillRect(new Rectangle(0,0,stage.stageWidth, stage.stageHeight), 0xFFFFFF); // <- пропущено в оригинале.
	backBuffer.draw(this,null,null,null,new Rectangle(0,0,stage.stageWidth, stage.stageHeight));
	backBuffer.applyFilter(backBuffer, new Rectangle(0,0,stage.stageWidth, stage.stageHeight), new Point(0, 0), blur_filter);
	backBuffer.unlock();
	b.visible=true;
}
вообщем кидаешь на сцену какую то картинку \ анимацию, и дальше смотришь результат, если расширить окошко ФП то наглядно видна разница
Изображения
 


Последний раз редактировалось nOobCrafter; 15.07.2011 в 13:39.
Старый 15.07.2011, 18:59
lolsuicide вне форума Посмотреть профиль Отправить личное сообщение для lolsuicide Найти все сообщения от lolsuicide
  № 3  
Ответить с цитированием
lolsuicide
 
Аватар для lolsuicide

Регистрация: Jul 2011
Адрес: где-то на планете земля
Сообщений: 23
Пытал флеш на предмет 1го вопроса, в итоге лучшей картинки дабился при использование аппаратного ускорение GPU и установкой 60fps, но этот способ нещадно жрет процессор (~40% 2core). Еще наткнулся на метод "bitmap + copyPixels", только не нашел более конкретной информации, в чем его смысл и как применять, мб кто знает о чем это? =)

Цитата:
Сообщение от nOobCrafter Посмотреть сообщение
вообщем кидаешь на сцену какую то картинку \ анимацию, и дальше смотришь результат, если расширить окошко ФП то наглядно видна разница
супер, спасибо
Еще пара вопросов по этой теме. С блюром беда, вроде стоит, но эффекта не дает и где добавить альфу, а то при других фильтрах экран цвета "заливки" (поменять цвет может не тот эффект дать)?
__________________
CS5, AS3.0


Последний раз редактировалось lolsuicide; 15.07.2011 в 19:03.
Старый 15.07.2011, 19:27
nOobCrafter вне форума Посмотреть профиль Отправить личное сообщение для nOobCrafter Найти все сообщения от nOobCrafter
  № 4  
Ответить с цитированием
nOobCrafter

Регистрация: Nov 2008
Сообщений: 894
Записей в блоге: 1
Цитата:
С блюром беда, вроде стоит, но эффекта не дает
поиграйся с режимами наложения
Цитата:
где добавить альфу
у самой битмапы поменяй

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

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

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


 


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


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