Particle一樣需要工具,Mac的使用者可以用Particle Designer。$7.99美金,一樣可以拿來開發iOS的遊戲。另外ONEBYONE提供了一個線上的Particle Editor,可以線上測試效果,然後產生Starling需要的檔案。這個網頁開著似乎會讓我們發佈swf時看不到Starling的內容,如果有這種情形請關閉這個網頁試試看。
我們就使用Particle Editor來幫我們產生粒子效果。介面可以設定的項目很多,就請大家自己去玩。調出想要的效果後,在Demo效果的右邊有個SAVE Export Particle,點下去後會讓我們儲存一個particle.zip檔。
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