パーティクルカルピス味
♥0 |
Line 47 |
Modified 2011-05-19 10:18:44 |
MIT License
archived:2017-03-20 10:12:29
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); //サイズ
}
}