→第6回:何か作りたい(1):よくあるきらきらしたやつ(ソースあり)
→第5回:Classの中身(2):Emitter2Dクラス(調査中)
→第4回:Classの中身(1):Clockクラス(調査中)
→第3回:お勉強(3):パーティクルがよける…Deflectorクラスで障害物
→第2回:お勉強(2):マウスで作る、やめる…Emitter.active
→第1回:お勉強(1):とりあえず何か出来た
stardustを使ってパーティクルを作るための基本的な順番は、公式マニュアルによると
(1)Clockを作る…パーティクル発生の頻度
(2)Emitterを作ってclockをセット…エミッターって発生装置みたいなもの(?)
(3)Rendererを作る…画面表示用オブジェクト(?)
(4)Renderer.addEmitter( Emitter )でエミッターをレンダラーにセット
(5)Emitter.addInitializer( 発生場所とか発生させるspiteとか )でエミッターを初期設定
(6)Emitter.addAction( 寿命の長さとか重力とか )で実際の動きを設定
(7)Event.ENTER_FRAMEやTimerEvent.TIMERに、Emitter.step()を関連づけて表示を更新
となっている。
ClockはEmitter.step()が呼ばれる毎に生成するパーティクルの数を設定する。
1.SteadyClock…決まった数のパーティクルを生成
2.ImpulseClock…Emitter.impulse()が呼ばれたタイミングでパーティクルを生成
3.RandomClock…step毎にランダムな数のパーティクルを生成
生成されるパーティクルの数は一定(初期値=0)
//設定例 var clock:SteadyClock = new SteadyClock(8);//stepごとに8つ生成
Clock.impulse()を呼んだタイミングで特定の回数のパーティクルを作る。
「地面に足がついた時、ふわっと砂が舞う」とかに使えそう。
・impulseCount(初期値0)…同時に生成されるパーティクル数、
・repeatCount(初期値1)…何回生成するか。
//設定例 var clock:ImpulseClock = new ImpulseClock(8, 1);//stepごとに8つ生成 …略… clock.impulse();//これを呼び出した時、生成
ランダムな数のパーティクルを作る(初期値=null)
Emitter.step()が呼ばれたタイミングでランダムな数のパーティクルを生成する。
//emitter.step()の度にパーティクルを5~15個生成する var rndClock:RandomClock = new RandomClock( new UniformRandom( 10, 5) );
その他、ClockCollection()でいくつかのClockをグループにしておけるみたいなので後で報告。
・マウスクリックでパーティクルON/OFFは、emitter.activeで簡単に切り替えられた。。。ちゃんと読め>自分