استفاده از افکت های Pixel Bender Toolkit در AS3

yaa110

کاربر فعال
1- ابتدا فایل twirl.zip را دانلود کنید و آنرا extract کنید. این فایل حاوی یک فیلتر Pixel Bender Toolkit با پسوند pbk است.
۲- برنامه Adobe Pixel Bender Toolkit را اجرا کنید و از منوی File گزینه Load Image 1 را انتخاب کنید و یک فایل عکس را باز کنید.
۳- دوباره منوی File را باز کنید و روی منوی Open Filter کلیک کنید و فایل twirl.pbk را که دانلود کردید انتخاب کنید.
۴- در پایین نرم افزار گزینه Flash را انتخاب کنید و روی Build and Run کلیک کنید.





۵- حالا در پنل سمت راست برنامه تنظیمات در دسترس این فیلتر قابل مشاهده هستند که می توان از آنها در برنامه Flash استفاده کرد.





۶- در ادامه از منوی File گزینه Export Filter for Flash Player را انتخاب کنید و این فیلتر را با فرمت pbj ذخیره کنید.
۷- نرم افزار Flash را اجرا کنید و یک پروژه Action Script 3.0 ایجاد کنید، پروژه را در کنار فایل pbj ذخیره کنید.
۸- یک عکس داخل پروژه import کنید و آن را به MovieClip تبدیل کرده و نام آن را برای مثال img_mc بگذارید.
۹- فریم اول را انتخاب کنید و پنل Actions را اجرا کنید.
۱۰- کلاسه های مورد نیاز را import کنید.


کد:
import flash.display.*;
import flash.events.*;
import flash.net.*;
import flash.filters.*;

11- دو متغیر از نوع URLLoader و Shader ایجاد کنید. از URLLoader برای فراخوانی فایل pbj و از Shader برای تبدیل داده های این فیلتر استفاده می شود تا در Flash قابل استفاده باشد.


کد:
var filter_loader:URLLoader = new URLLoader();
var shader:Shader;

12- برای فراخوانی فایل pbj از فرمت Binary در URLLoader استفاده کنید.


کد:
filter_loader.dataFormat = URLLoaderDataFormat.BINARY;
filter_loader.addEventListener(Event.COMPLETE,onFilterLoadComplete);
filter_loader.load(new URLRequest(“twirl.pbj”));

13- حالا تابع onFilterLoadComplete را که بعد از کامل شدن فراخوانی فایل pbj اجرا می شود، به صورت زیر تعریف کنید.


کد:
function onFilterLoadComplete(evt:Event):void {
var loader:URLLoader = evt.target as URLLoader;
shader = new Shader(loader.data);
shader.data.radius.value = [50];
var filter:ShaderFilter = new ShaderFilter(shader);
img_mc.cacheAsBitmap = true;
img_mc.filters = [filter];
}

در این تابع:

  • اطلاعات URLLoader وارد Shader می شود تا عملیات تبدیل صورت بگیرد.
  • با توجه به تنظیمات در دسترس فیلتر که در برنامه Pixel Bender Toolkit قابل مشاهده بود مقدار radius به عنوان مثال ۵۰ در نظر گرفته شده است.
  • اطلاعات Shader در متغیر ShaderFilter قرار گرفته اند تا بتوان از آن برای MovieClip استفاده کرد.
  • مقدار cacheAsBitmap برای MovieClip مورد نظر true شده است.
  • درنهایت فیلتر ShaderFilter به MovieClip معرفی شده است.
http://flashcenter.ir/?p=345
 

جدیدترین ارسال ها

بالا