Perk 如何實現粒子效果

2021-07-22 05:29:12 字數 915 閱讀 8264

我們先來看乙個簡單的下雪的粒子效果:

ios在5.0之後,在quartzcore中引入了乙個caemitterlayer類,它是calayer的子類,你猜的沒錯,該類便是實現雨雪、**、煙霧等粒子效果的高效能粒子引擎。

你所看到的每個雪花都是乙個caemittercell物件,這些物件都被放在caemitterlayer這個容器當中,給這個容器和這些物件設定一些屬性,那麼內部便自動幫我們實現粒子效果。

正因為如此,所以粒子效果實現起來也比較簡單,你只需要建立容器,建立乙個標準的粒子模型,然後設定一些屬性,完了再把這些粒子放在陣列當中,放入容器就ok了,我們來看看這個下雪效果的**:

import uikit

// 匯入與否都行,你只需知道是該框架裡面的api就行了

import quartzcore

//自定義乙個snowview來封裝粒子效果

class snowview: uiview

override init(frame: cgrect)

func creatsnow()

// 這裡因為是將uiview的layer強轉為caemitterlayer,所以這裡必須要告訴系統該類的layer是caemitterlayer

override class func layerclass() -> anyclass

}

這便是乙個下雪天氣的粒子效果,其實很簡單,我們所要做的無非就是不斷測試和調整這些屬性的值來達到滿意的效果,其他比如**、下雨之類的就是換換粒子再調整屬性,那麼便ok了!

CAEmitterLayer實現粒子效果

caemitterlayer實現粒子效果 caemitterlayer 在ios 5中,蘋果引入了乙個新的 calayer 子類叫做 caemitterlayer caemitterlayer 是乙個高效能的粒子引擎,被用來建立實時例子動畫如 煙霧,火,雨等等這些效果。caemitterlayer ...

使用storyboard實現粒子效果

之前沒看過粒子相關實現的方法,只是根據看到的效果,根據自己的想法做的,結果,雖然實現了簡單的效果,但是效果不理想,不夠流暢,也很死板,沒什麼絢麗感。寫此文章,只算是一點總結。具體 和實現過程就不寫了,免得誤導他人,哈哈哈 好了,就看一下簡單的實現思路和最終的效果吧 實現思路 定義乙個粒子類,及其各種...

ThreeJS實現波紋粒子效果

今天我們來用threejs的庫實現乙個波紋粒子效果,我們用到的threejs的庫有canvasrenderer.js,orbitcontrols.js,projector.js,stats.min.js和three.js。這些庫都是不可或缺的,我們先來看看實現的效果,如下圖所示。我們再來看看專案結構...