Particle一樣需要工具,Mac的使用者可以用Particle Designer。$7.99美金,一樣可以拿來開發iOS的遊戲。另外ONEBYONE提供了一個線上的Particle Editor,可以線上測試效果,然後產生Starling需要的檔案。這個網頁開著似乎會讓我們發佈swf時看不到Starling的內容,如果有這種情形請關閉這個網頁試試看。
我們就使用Particle Editor來幫我們產生粒子效果。介面可以設定的項目很多,就請大家自己去玩。調出想要的效果後,在Demo效果的右邊有個SAVE Export Particle,點下去後會讓我們儲存一個particle.zip檔。
將這個檔案解壓縮,裡面有個particle.pex跟texture.png。particle.pex基本上也是個XML檔案,裡面記錄了Particle的設定;texture.png則是Particle用的基本圖像。然後就來看程式碼:
public class Game9 extends Sprite { private var _container:Sprite; [Embed(source = "/assets/particle.pex", mimeType="application/octet-stream")] private static const ParticleConfig:Class;//embed particle的設定檔 [Embed(source = "/assets/texture.png")] private static const ParticleBitmap:Class;//embed particle用的圖像 public function Game9() { super(); addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, init); _container = new Sprite(); addChild(_container); addChild(new Stats()); var bitmap:Bitmap = new ParticleBitmap(); var texture:Texture = Texture.fromBitmap(bitmap);//將embed的圖片轉成texture var xml:XML = XML(new ParticleConfig());//將設定檔轉為xml var particleSystem:ParticleDesignerPS = new ParticleDesignerPS(xml, texture);//新增一個ParticleDesignerPS,將xml與texture傳進去 particleSystem.emitterX = 300;//設定emitter座標 particleSystem.emitterY = 300;//設定emitter座標 particleSystem.start();//開始particleSystem _container.addChild(particleSystem);//加到場景上 Starling.juggler.add(particleSystem);//ParticleDesignerPS一樣是IAnimatable,要加到Starling.juggler才會跑 } }
將particle.pex與texture.png embed進來,圖片轉成texture,設定檔轉成xml。接著新增一個ParticleDesignerPS的實體,將xml與texture傳進去。Particle系統有個emitter,用emitterX與emitterY設定座標,加到場景上,並且執行start()。ParticleDesignerPS也是實現IAnimatable介面的類別,因此最後要將它加到Starling.juggler才會跑。Demo如下:
點我或圖看Demo
Starling的基礎到此就完結篇啦,之後有更多的心得再來分享。
上一篇:一起來玩鳥 Starling Framework(8)BitmapFont
感謝你的文章,收穫很大
回覆刪除最近也試著用粒子特校,我用Particle Designer 但有些效果
在執行的時候 會出現Buffer too big 的錯誤,請問是哪裡出錯呢?
To Leo:
回覆刪除我沒有真的使用過Particle Designer,看起來也許是效果用太多了.可以把.pex與.png寄給我幫你試試看: gray.liao@gmail.com