Skip to main content

[Flex] Pixel Bender Filter 動畫應用



雖然 Pixel Bender 已經出現了好一段時間,但是一直都沒很認真的看過,周遭朋友也鮮少討論它...直到最近工作需求才有開始使用。以下是集合各家長處能簡單應用 Pixel Bender Filters 到 AS3 的作法。
  1. 先到 Adobe Pixel Bender Exchange 挑選想要的特效 (這邊是選擇 Crystallize ) ,下載後解壓出 Crystallize.pbj
  2. 曾經從 CJ Cat 那邊聽到 pbj 可以整個轉換到 AS 內,經過 google 大神指點,找到了一個超級無敵好用的 PBJ to AS converter... 感謝作者 Marek Burn 的好心分享!!!! 利用 converter 轉換 pbj to AS, 存成 CrystallizeShader.as 放到工作目錄內。Pbj 內可設定參數可以參考轉出來的 as 檔內說明。
  3. 編寫 mxml: 使用 mx 包內建的 Tween

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
applicationComplete="init()"
layout="horizontal" >
<mx:Script>
<![CDATA[
import mx.effects.Tween;

private var shader:CrystallizeShader;

private function init():void{
var initNum:Number = 50;
shader = CrystallizeShader.getInstance();
shader.size = initNum;
var tween:Tween = new Tween(this, initNum, 1, 6000, -1, onUpdate, onEnd );
w1.filters = [ new ShaderFilter(shader)];
}
private function onUpdate(num:Number):void{
shader.size = num;
w1.filters = [ new ShaderFilter(shader)];
}
private function onEnd(num:Number):void{
w1.filters = [];
}
]]>
</mx:Script>
<mx:Panel width="250" height="200" layout="absolute" title="Pixel Bender Test"
backgroundColor="#F8F8F8" id="w1" />
</mx:Application>



完工!!
Ps. Pixel Bender 需要 Flash Player10 喔! Flash 寫法大同小異,請自行轉換...=P

References :
Pixel Bender Exchange
goAndLearn(): Animating Pixel Bender Filters
Marek Burn's PBJ to AS converter
Edit 04/21/2009 : Marek Burn's blog 連結已經失效...我手上也沒有檔案,很抱歉~~
Edit 10/02/2009 : Marek Burn's blog PBJ to AS 連結又復活囉!!不過他 blog 還是掛的...

Comments

  1. 求 PBJ to AS converter !!
    該作者的blog的域名已經賣掉了
    也google不出該作者的新blog

    T_T Shader Rookie,,,

    ReplyDelete
  2. 啊...我並沒有抓他的swf....因為想說不太可能會不見...= = ,一樣還是可以用 ShaderFilter 的方法去載入 pbj, 然後做成 custom effect...所以唯一的影響就是寫法麻煩一些...

    ReplyDelete
  3. 恩恩也只能這樣用了
    也可以使用cj cat的wrap class
    any way 謝謝啦!

    ReplyDelete
  4. This one?? http://blog.brun.pl/PBJtoAS/

    ReplyDelete
  5. 妳好, 剛學習flex一小段時間, 看到範例中flex也可以使用tween, 想請問, 用tween和用effect有什麼差別? 或者用哪一種較好? 若問題很笨, 請見諒.^^

    ReplyDelete
  6. Effect = 特效集合, Tween = 基本特效元件,沒有用哪一種比較好...因為都是由 Tween 發展的...

    ReplyDelete

Post a Comment

Popular posts from this blog

[Flex] PureMVC standard with Spring extensions

由於上次稍微玩了一下 Robotlegs 依賴注入(DI) 主導的 MVC 框架,而著名也使用依賴注入的 Java / Java EE 的 Spring framework 出了 for ActionScript 的版本,剛好在最近 Spring ActionScript 1.0 正式 release 了(想了解 Spring 是啥咪東東的話請自行找 google 大神),這個版本除了基本框架外,也包含了 Cairngorm 與 PureMVC 的外掛...想當然耳,就拿來測試一下用在 PureMVC 內的感覺囉!! 參考了 官方範例 中 PureMVC 唯二的範例原始檔,以下使用的是「設定檔依賴注入 facade 透過 addConfigSource() 的方式來 init 」:(其實除了 embed 外,都是外部載入) Online Demo with source code 工作環境:FlashBuilder, Flex SDK4 請下載 PureMVC Standard 版本 再下載 Spring ActionScript 最新版本後,除了 spring-actionscript-cairngorm 不需要外,都放到 /src 下(記得只需要 org 開始...),也別忘了lib 內的 swc 檔 copy 到 /libs 下 Spring 的 injection 並不像 Robotlegs 直接來個 [Inject] metadata 的自動化那樣方便,但是其冷血度(檔案的鬆偶程度)更勝後者!如果你要使用設定檔(applicationContext.xml) 來做注入的話,準備工作就挺多的...XD 依照 applicationContext.xml 內設定的方式分別寫入 constructor 或者是 setter 依賴注入(本範例統一使用 setter injection) 為了跟大家都沒關係所以都使用 interface 來處理,所以你會在範例中發現大家都有介面...(並沒有真的研究過 Spring,也許還有其他作法) 準備 compiler 時候要用的 classe。由於在 setter, getter 的寫法上都使用 interface,所以真正用到的 class 需要預先在輸出階段就打包到程式內。 基本上 PureMVC 類 class...

[AIR] JoSi FXGtoLayout

JoSi FXGtoLayout v0.3.0, Adobe AIR 3 runtime 這個又是一個 "就是" 系列懶人小工具,主要是針對 Adobe fxg 格式做分析轉成 Mobile 開發用的視圖程式碼,加速畫面配置使用。 為什麼會製作這個工具,原因主要是本人在使用的 Corona SDK 與 Titanium SDK 都沒有好用的視覺化編輯工具。一般設計師產出 layout 檔會使用 PhotoShop 來製作,在不多花錢的原則下,畫面對齊的基準就是其輸出的 fxg 資料做對應,如果要一筆一筆將資料鍵入,做久也是會膩的,所以花了點時間將這個工具做出來...