2012年8月27日 星期一

flint particle system:Part1

flint 粒子系統教學:Part1
早期因工作需要有用過 2.x 版,
記得當時商業使用是要收費?
而且效能不符合當時的需求。

這陣子因專案需要,再次翻出來用,
發現已經發展到 4.0.1,
不僅效能大符提升,
功能也更強大,支援 stage3D,
連 Away3d/Flare3d/Alternativa3d 等,
3D framework 都有支援,
遊戲相關的 framework,
像是 flashpunk 及 pushbutton 也有支援,
另外,社群正嘗試整合目前火紅的 starling,
更重要的是 MIT License,
看起來發展的相當好。


如圖所示 flint 與一般粒子系統相同,分三大部份
renderer/emitter/particle

emitter 主要受 counter 及 activity 影響
particle 主要受 initializer 及 action 影響

分別說明如下
Emitter
發射器產生粒子

Counter
粒子計數器
Steady(100) 指每秒產生 100 個粒子(連續產生,不間斷)
Blast(100) 指每秒產生 100 個粒子(一次性)

Activity
FollowMouse:加入滑鼠互動

Particle Initializers
初始化粒子的屬性
ImageClass/SharedImage:圖片,給不同的 renderer 使用
Position:位置
Velocity:速度
ScaleImageInit:大小
ColorInit:顏色
Lifetime:生命週期

Actions
粒子的行為
Move:移動
Accelerate:加速度
RandomDrift:飄移(適用雪/雨...etc.)
Age:生命週期
Fade:淡出
RotateToDirection:隨著移動改變旋轉角度
LinearDrag:摩擦力,移動時減緩速度

Renderer
常用的幾種 render
DisplayObjectRenderer:一般的 DisplayObject,用於 particle ImageClass。
BitmapRenderer:像 bitmap canvas 一樣,用於 particle sharedImage。

沒有留言:

張貼留言