パーティクルカルピス味

by wkzr
♥0 | Line 47 | Modified 2011-05-19 10:18:44 | MIT License
play

ActionScript3 source code

/**
 * Copyright wkzr ( http://wonderfl.net/user/wkzr )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/qD2Q
 */

package {
    

import flash.display.*;  
import flash.events.*;  
import idv.cjcat.stardust.common.actions.*;  
import idv.cjcat.stardust.common.clocks.*;  
import idv.cjcat.stardust.common.emitters.*;  
import idv.cjcat.stardust.common.renderers.*;  
import idv.cjcat.stardust.common.initializers.*;  
import idv.cjcat.stardust.common.math.*;  
import idv.cjcat.stardust.twoD.actions.*;  
import idv.cjcat.stardust.twoD.emitters.*;  
import idv.cjcat.stardust.twoD.initializers.*;  
import idv.cjcat.stardust.twoD.zones.*;  
import idv.cjcat.stardust.twoD.renderers.*;   

public class Main extends Sprite {  
private var emitter:Emitter2D; // エミッター  

private var renderer:Renderer; // レンダラー  


// コンストラクタ  
public function Main() {  


 // パーティクルを格納するムービークリップを作成  

var mc:MovieClip = new MovieClip();  
mc.x = mc.y = 480;  
addChild(mc);      

//-- パーティクルシステムの構築  

// [1]clockを作成  

// 1ステップに発生させたい数値を指定  

var clock: SteadyClock = new SteadyClock(1);  
  

emitter = new Emitter2D(clock);  

renderer = new DisplayObjectRenderer(mc);  


renderer.addEmitter(emitter);  

    

       // イニシャライザーを登録  

       // パーティクルのアイテムを指定  
       emitter.addInitializer(new DisplayObjectClass(MyCircle));  
       // パーティクルにかかる力を指定  
       emitter.addInitializer(new Velocity(new LazySectorZone(1, 0)));  
       // パーティクルのsonzaiを指定  
       emitter.addInitializer(new Life(new UniformRandom(60, 0)));  

  

     emitter.addAction(new Age(0));

     emitter.addAction(new DeathLife()); // 消える

     emitter.addAction(new Accelerate(0.1));//速度

     emitter.addAction(new Move()); 
  

      addEventListener(Event.ENTER_FRAME, loop);  

  }  

  



    private function loop(e:Event):void {  

       emitter.step();

     }  
   }  

}  

   



import flash.display.*;  

 class MyCircle extends Sprite {  
   public function MyCircle() {  
     graphics.beginFill(0x2100F7); //←青色  

     graphics.drawCircle(0, 0, 25); //サイズ

  }  
}