2012-07-31 72 views
0

我試圖創建一個檸檬汁和蘇打粉的實驗動畫,我想知道我怎麼可以創建一個發泡的效果,如本圖所示的一個:如何在閃光燈中創建起泡或氣體效果?

experiment

的想法,我有記住是簡單地在Photoshop中繪製泡沫,然後使用補間動畫來改變大小。我希望能找到更好的解決方案。

+0

爲了獲得更好的效果,您需要對使用「BitmapData」和應用濾鏡或其他內置效果有很好的理解。 – Marty 2012-07-31 05:42:52

回答

1

我有些東西有點類似,你可以用它做跳板來做自己的事情。

http://www.shaunhusain.com/SteamEffect/

http://www.shaunhusain.com/SteamEffect/srcview/index.html

目前我只是畫一些圈本,然後設置他們(不是非常有效的模糊,但我知道它服務的旨意,因爲我沒有它需要創造一個bajillion粒子仍然是有效的「蒸汽」,這是預期的目標)。你可以換出我用於自己繪圖的形狀/過濾器,並使用相同的基本結構。

編輯

也許這至少需要一點解釋:

基本上你會想看看這兩個文件SteamCanvas.mxml和BitOfSteam.as。說實話,我不知道爲什麼我決定將SteamCanvas編寫爲mxml文件。我選擇使用Canvas作爲基類,因此我可以將它作爲容器包裝在任何其他組件中,並能夠檢測區域內任何地方的鼠標點擊。如果這是在純Flash環境中使用的,那是一個不使用Flex庫(或mxmlc編譯器)的環境,它可以改爲從Sprite擴展並純粹在AS3中編寫,實質上只需將creationComplete代碼移動到構造函數。這是如何工作的,SteamCanvas是你想要放入的任何控件或組件的包裝器(就像普通的畫布使用絕對定位一樣,但如果需要的話,可以有定義嵌套的佈局的容器)。 SteamCanvas設置一個計時器,如果計時器滴答時鼠標關閉,它會創建BitOfSteam的實例,並根據SteamCanvases自己當前設置的屬性設置蒸汽屬性。在這個項目中,你還會看到一個SteamEffectTest.mxml,它就是你看到的運行的文件,它上面有滑塊來改變SteamCanvas的屬性,我用它們來提出我認爲是有價值的東西逼真的蒸汽。如果我記得我明天會再次訪問這個組件,並嘗試採用Marty的建議來更新它。

+0

這很好 - 你會有一個很大的性能提升,只需要一些小小的調整,包括使用'copyPixels()'將圓圈繪製到BitmapData上,然後使用'applyFilter()'。 – Marty 2012-07-31 05:50:21

+0

這些代碼爲網站或閃光?對不起,我對這些東西有點新。 – Learn123 2012-07-31 05:51:32

+0

srcview文件夾由FlashBuilder生成,當我執行發佈導出並請求它包含查看源選項時。當你按照左下方的鏈接時,它有一個鏈接來下載源zip,如果你有FlashBuilder,你可以下載項目的zip並直接導入它。否則,使用左側的導航瀏覽代碼。如果你不熟悉Flex,MXML將是新的,但是當它歸結爲MXML時,編譯器會將MXML轉換爲AS3。我在這裏所做的主要是在AS3中,但也可以在Flash IDE中使用。 – shaunhusain 2012-07-31 05:54:28