
前一篇提到 ConvolutionFilter ,那就來 demo 一個吧!?
在網路上找到 這篇,然後試著自己寫一個。
ConvolutionFilter 是以一個 3×3 的矩陣來跟 BitmapData 裡每個 pixel 做運算。
相當耗費效能,應該是我用的 particle 數量太大了吧!?
連續寫了好幾個 BitmapData 特效,瀏覽器已經撐不住囉!?
想到 奶綠茶部落格 有做原視窗開啟 Flash Player 的功能,看了一下原始碼,發現 Lightbox++ at Codefidelity。
按照網頁教學把我的部落格也加上相同的功能,因為主色系是黑色,就把顏色改了一下而已。
如果效能跟得上的話,ConvolutionFilter 應該不只能製造煙霧效果;
想到以前用 MatLab 偵測影像邊緣也是用類似的方法;
搭配 BitmapData.threshold 一定可以再做點什麼東西吧!?
但是這禮拜六就要上課了,得先預習一下 PV3D 才是!
分類搜尋: ActionScript 2

這個效果網路上普遍歸類為「水波紋」,但因為我前一篇就叫這個名字了,所以稍為做一點區別,改叫「水漣漪」。
除了自動產生的漣漪以外,也可以用滑鼠產生,直接單響就可以了!
效果‥‥‥普普,應該是底圖的關係吧?如果用照片應該就會好很多!
程式上還是以 DisplacementMapFilter 為主,只是不用 PerlinNoise 了。
水波紋只是用深淺不一的同心圓,再帶一點 Blur 去模擬的。
問 Google 大神可以找到很多同樣效果的教學,但寫法跟我大不相同;反倒是跟 奶綠茶這篇 差不多。
看了一下原始碼,還是不太能理解裡面的細節;不過,看到一個沒用過的 ConvolutionFilter ;有空就來研究研究吧!

昨天提到水波紋是吧?那今天就來寫個水波紋特效吧!
跟火焰特效的寫法一模一樣,只是對參數與顏色做調整而已。
當然,為了調出像水波紋的感覺,又是花了不少功夫呀!
Google Search 「DisplacementMapFilter」找到下面這篇:
[教學] 變形特效怎麼玩~XD (DisplacementMapFilter原理&應用)
此外,還發現 DisplacementMapFilter 也可以拿來做以往 Flash 做不到的透視。改天來試試吧!
前一篇文字點陣化的效果給朋友看過後,有人問我為什麼只能打一個字?
後來想想~雖然一次只能 show 一個字,但也可以分批跑完呀!?
今天就寫了這個進階版! C L I C K
Demo 的日期還是下在昨天,反正主程式是一模一樣的!
差別在於:先把字串用 String.split(“”); 拆成陣列,再用 Array.shift(); 從第一個字開始用 interval 一個字一個字抓出來!

總算有個 Demo 不是抄奶綠茶的,但是忘了是從哪看到的:
雖然只是照片的 Slide Show 而已;但效果還不錯,程式又簡單。
用的還是 BitmapData 類別,只要一個 pixelDissolve 方法就搞定了!
有個細節稍微注意一下:piselDissolve 需要兩個 BitmapData 才能作用,所以第一張照片 load 完後,在 draw 之前先 new 一個和背景同色的 BitmapData 就可以了!
考慮把 Yooler TV 首頁的最新活動換成這個;順便測測效能如何!?
第一個 Demo:

這是在 奶綠茶的部落格 看到的效果,他的 Demo:http://milkmidi.com/demo/granular/
程式整個重寫一次,因為我不習慣用 Class;這也是要進到 AS3 最大的障礙吧!?
概念並不難,用 BitmapData 配合 Matrix 的 scale 繪製小 size 的點陣圖;
再把 attach 這張圖的 MovieClip 給拉大。
以往只會把文字欄位利用 cachAsBitmap 來做動態效果,
沒想到,BitmapData 是這麼特別的 Class !
這個效果我已經拿來用在公司的部落格小工具 Yooler Bar 上。
