※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!
wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)
パーティクル
流れ落ちる
かっこいい
手品みたい!
particlesparticles
:0
気持ちいい!
mouse
流れ落ちる forked from: 流れ落ちる
- // forked from tktr90755's 流れ落ちる
- package
- {
- import flash.display.MovieClip;
- import flash.display.Shape;
- import flash.display.Stage;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.text.TextField;
- [SWF(frameRate="60")]
- public class Dots extends MovieClip
- {
- //コンテナ
- private var container:MovieClip;
- //噴出位置とリミット位置
- private var xLimit:Number;
- private var yLimit:Number;
- private var xAxis :Number;
- private var yAxis :Number;
- //色
- private var colors:Array = new Array("0xE89A0A", "0xE910DE", "0x0EEB10", "0xE9C010", "0xE2160F", "0xD6EB0B", "0xEB117C", "0xE81167", "0x7E11E8");
- //クリックで切り替え
- private var clickFlug:Boolean = false;
- public function Dots()
- {
- addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- }
- private function onAddedStage(e:Event):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
- stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
- container = new MovieClip();
- addChild (container);
- xLimit = stage.stageWidth * 2;
- yLimit = stage.stageHeight * 2;
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- var textField:TextField=new TextField();
- textField.text="クリックしてね";
- addChild(textField);
- }
- private function _onMouseDown (e:Event):void
- {
- addEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- clickFlug = ! clickFlug
- }
- private function _onMouseUp (e:Event):void
- {
- removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- }
- private function _onMouseMove (e:Event):void
- {
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- }
- private function _onEnterFrame(e:Event):void
- {
- createClip (container, xAxis, yAxis);
- }
- private function createClip (a:MovieClip, b:Number, c:Number):void
- {
- //ランダムな数値
- var value1:Number = Math.floor(Math.random() * 10);
- var value2:Number = Math.floor(Math.random() * 10);
- var value3:Number = Math.floor(Math.random() * 10);
- //速さ [X軸,Y軸,回転]
- var xSpeed:Number = value1 - value2;
- var ySpeed:Number = value3 - 10;
- var ratationSpeed:Number =10;
- if (clickFlug)
- {
- xSpeed = value1 - value2;
- ySpeed = value3 - 10;
- ratationSpeed =10;
- }
- else
- {
- xSpeed = 1;
- ySpeed = -10;
- ratationSpeed =10;
- }
- //減速率 [X軸,Y軸,回転]
- var xDeceleration:Number = 0.98;
- var yDeceleration:Number = 0.98;
- var rotationDeceleration:Number = 0.98;
- //重力
- var gravity:Number = 0.35;
- var ms:Number = 0.98;
- var sc:Number = 0.25;
- var sa:Number = 0.05 * Math.random ();
- //shape生成と
- var shape:Shape = new Shape();
- a.addChild(shape);
- shape.graphics.beginFill(0xf00000 * Math.random());
- shape.graphics.drawCircle(0, 0, 10);
- shape.graphics.endFill();
- shape.x = b;
- shape.y = c;
- shape.rotation = 30;
- shape.alpha=0;
- //流れ落ちる動き
- shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
- function __onEnterFrame (e:Event):void
- {
- shape.alpha=1;
- xSpeed = xSpeed * xDeceleration;
- ySpeed = ySpeed * yDeceleration + gravity;
- ratationSpeed = ratationSpeed * rotationDeceleration;
- e.target.x = e.target.x + xSpeed;
- e.target.y = e.target.y + ySpeed;
- e.target.rotation = e.target.rotation + ratationSpeed;
- sc = sc + sa;
- e.target.scaleX = 1 * Math.sin (3.141593 * sc);
- e.target.scaleY = 1 * Math.cos (3.141593 * sc);
- if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
- {
- e.target.alpha = Math.round (yLimit - e.target.y);
- if (e.target.alpha<=0)
- {
- shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
- removeMC ();
- }
- }
- }
- function removeMC ():void
- {
- a.removeChild (shape);
- }
- }
- private function randomInt(max:int,min:int):int
- {
- var value:int = min + Math.floor(Math.random() * (max - min));
- return value;
- }
- }
- }
- // forked from tktr90755's 流れ落ちる
- package
- {
- import flash.display.MovieClip;
- import flash.display.Shape;
- import flash.display.Stage;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.text.TextField;
- [SWF(frameRate="60")]
- public class Dots extends MovieClip
- {
- //コンテナ
- private var container:MovieClip;
- //噴出位置とリミット位置
- private var xLimit:Number;
- private var yLimit:Number;
- private var xAxis :Number;
- private var yAxis :Number;
- //色
- private var colors:Array = new Array("0xE89A0A", "0xE910DE", "0x0EEB10", "0xE9C010", "0xE2160F", "0xD6EB0B", "0xEB117C", "0xE81167", "0x7E11E8");
- //クリックで切り替え
- private var clickFlug:Boolean = false;
- public function Dots()
- {
- addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- }
- private function onAddedStage(e:Event):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
- stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
- container = new MovieClip();
- addChild (container);
- xLimit = stage.stageWidth * 2;
- yLimit = stage.stageHeight * 2;
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- var textField:TextField=new TextField();
- textField.text="クリックしてね";
- addChild(textField);
- }
- private function _onMouseDown (e:Event):void
- {
- addEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- clickFlug = ! clickFlug
- }
- private function _onMouseUp (e:Event):void
- {
- removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- }
- private function _onMouseMove (e:Event):void
- {
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- }
- private function _onEnterFrame(e:Event):void
- {
- createClip (container, xAxis, yAxis);
- }
- private function createClip (a:MovieClip, b:Number, c:Number):void
- {
- //ランダムな数値
- var value1:Number = Math.floor(Math.random() * 10);
- var value2:Number = Math.floor(Math.random() * 10);
- var value3:Number = Math.floor(Math.random() * 10);
- //速さ [X軸,Y軸,回転]
- var xSpeed:Number = value1 - value2;
- var ySpeed:Number = value3 - 10;
- var ratationSpeed:Number =10;
- if (clickFlug)
- {
- xSpeed = value1 - value2;
- ySpeed = value3 - 10;
- ratationSpeed =10;
- }
- else
- {
- xSpeed = 1;
- ySpeed = -10;
- ratationSpeed =10;
- }
- //減速率 [X軸,Y軸,回転]
- var xDeceleration:Number = 0.98;
- var yDeceleration:Number = 0.98;
- var rotationDeceleration:Number = 0.98;
- //重力
- var gravity:Number = 0.35;
- var ms:Number = 0.98;
- var sc:Number = 0.25;
- var sa:Number = 0.05 * Math.random ();
- //shape生成と
- var shape:Shape = new Shape();
- a.addChild(shape);
- shape.graphics.beginFill(0xf00000 * Math.random());
- shape.graphics.drawCircle(0, 0, 10);
- shape.graphics.endFill();
- shape.x = b;
- shape.y = c;
- shape.rotation = 30;
- shape.alpha=0;
- //流れ落ちる動き
- shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
- function __onEnterFrame (e:Event):void
- {
- shape.alpha=1;
- xSpeed = xSpeed * xDeceleration;
- ySpeed = ySpeed * yDeceleration + gravity;
- ratationSpeed = ratationSpeed * rotationDeceleration;
- e.target.x = e.target.x + xSpeed;
- e.target.y = e.target.y + ySpeed;
- e.target.rotation = e.target.rotation + ratationSpeed;
- sc = sc + sa;
- e.target.scaleX = 1 * Math.sin (3.141593 * sc);
- e.target.scaleY = 1 * Math.cos (3.141593 * sc);
- if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
- {
- e.target.alpha = Math.round (yLimit - e.target.y);
- if (e.target.alpha<=0)
- {
- shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
- removeMC ();
- }
- }
- }
- function removeMC ():void
- {
- a.removeChild (shape);
- }
- }
- private function randomInt(max:int,min:int):int
- {
- var value:int = min + Math.floor(Math.random() * (max - min));
- return value;
- }
- }
- }
- // forked from tktr90755's 流れ落ちる
- package
- {
- //各種基底クラスを読み込んでおきます
- /*
- import flash.display.MovieClip;
- import flash.display.Shape;//図を描くのに使うよflashの描画ツール系
- import flash.display.Stage;//flashコンテンツが表示される領域全体を現す
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.text.TextField;//textFieldを制御する
- */
- import flash.display.*;
- import flash.events.*;
- import flash.text.*;
- import flash.filters.BlurFilter;
- [SWF(frameRate="60",backgroundColor="#000000")] //フレームレートは60fps
- //ムービークリップを継承した、パブリッククラスnagareotiruです
- //flaファイルから見えるようにするよ。(public class:package外から見えるようにする(flaファイル含む))
- public class nagareotiru extends MovieClip//ムービークリップの機能を引き継いだ上で、拡張しますよ~
- {
- //コンテナ:型はMovieClip※
- private var container:MovieClip;
- //▼プロパティの定義(クラス内の変数を定義)※プロパティをほかのクラスから呼び出せるようにするにはpublicを定義の先頭につける
- //噴出位置とリミット位置
- private var xLimit:Number;
- private var yLimit:Number;
- private var xAxis :Number;
- private var yAxis :Number;
- //色:9色をArrayに格納※今回使わない
- //private var colors:Array = new Array("0xE89A0A", "0xE910DE", "0x0EEB10", "0xE9C010", "0xE2160F", "0xD6EB0B", "0xEB117C", "0xE81167", "0x7E11E8");
- //クリックで切り替え:Boolean型→true or false型
- private var clickFlag:Boolean = false;//clickFlagはfalse
- //▼コンストラクタnagareotiru定義※必ず、publicとして定義する コンストラクタは戻り値を返さない
- public function nagareotiru()
- {
- //
- addEventListener(Event.ADDED_TO_STAGE, onAddedStage);//ADDED_TO_STAGE:ステージに追加イベント
- }
- //▼メソッドの定義※メソッドをほかのクラスから呼び出せるようにするにはpublicを定義の先頭につける
- //onAddedStage:ステージ上に表示する関係
- private function onAddedStage(e:Event):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);//ADDED_TO_STAGE:ステージに追加イベントを削除。ずっとEnterFrameし続けないように
- stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);//マウスが押されている間、ステージ上にイベント
- stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);//マウスが動いている間、ステージ上にイベント
- container = new MovieClip();//ムービークリップ型の”container”というオブジェクトを作成(し、呼び出し)
- addChild (container);//ステージ上にcontainerを表示
- xLimit = stage.stageWidth * 2;//ステージの2倍の大きさまで
- yLimit = stage.stageHeight * 2;//ステージの2倍の大きさまで
- xAxis = stage.mouseX;//初期位置はステージ上のマウスの位置に
- yAxis = stage.mouseY;//初期位置はステージ上のマウスの位置に
- var textField:TextField=new TextField();//textFieldというTextField型のインスタンスを作成し、呼び出し
- textField.text="クリックするといい事ある。マウス押したままうごかす。クリックするごとに動き方が変わる。";//textFieldに表示
- textField.width=550;
- textField.textColor=0xffffff;
- addChild(textField);//ステージ上にtextFieldを表示
- }
- //_onMouseDown:マウス押される関係
- private function _onMouseDown (e:Event):void
- {
- addEventListener(Event.ENTER_FRAME, _onEnterFrame);//エンターフレームイベント(ずっとイベント)
- stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);//ステージ上で、MOUSE_UPイベント:マウス放すとなんかある(押してた状態から離した状態になったら)
- clickFlag = ! clickFlag//初期値はfalseが入ってるね。これでfalseとtrueきりかえ。つまりマウス押されたらtrueになって放すと初期値falseに戻るんだね。
- }
- //_onMouseUp:マウス放す関係
- private function _onMouseUp (e:Event):void
- {
- removeEventListener(Event.ENTER_FRAME, _onEnterFrame);//マウス押されてたときのエンターフレームイベント(ずっとイベント)をremove
- stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);//ステージ上で、MOUSE_UPイベント:マウス放すとなんかある(押してた状態から離した状態になったら)をremove
- }
- //_onMouseMove:マウス動かす関係
- private function _onMouseMove (e:Event):void
- {
- xAxis = stage.mouseX;//位置はマウスの位置に追従
- yAxis = stage.mouseY;//位置はマウスの位置に追従
- }
- //_onEnterFrame:エンターフレーム関係
- private function _onEnterFrame(e:Event):void
- {
- createClip (container, xAxis, yAxis);//createClipという実行関数を作成(実行)してわたす引数は(container, xAxis, yAxis)
- }
- //createClipという関数の定義(引数は3つ↑あれに代入)
- private function createClip (a:MovieClip, b:Number, c:Number):void
- {
- //ランダムな数値
- //ランダムにすることで飛び散る
- var value1:Number = Math.floor(Math.random() * 10);//0~9まで
- var value2:Number = Math.floor(Math.random() * 10);//0~9まで
- var value3:Number = Math.floor(Math.random() * 10);//0~9まで
- /*ランダムにしないと飛び散らない
- var value1:Number = 9;
- var value2:Number = 9;
- var value3:Number = 9;
- */
- //速さ [X軸,Y軸,回転]
- var xSpeed:Number = value1 - value2;//ランダムな値が入ってくるから、飛び散った感が出る
- var ySpeed:Number = value3 -10;//必ず負の値になる
- var ratationSpeed:Number =10;//回転スピードは10で固定
- //マウスをクリックするたびに、飛び散りと流れ落ちが切り替わる
- if (clickFlag)
- {
- xSpeed = value1 - value2;
- ySpeed = value3 - 10;
- ratationSpeed =10;
- }
- else
- {
- xSpeed = 1;
- ySpeed = -10;
- ratationSpeed =10;
- }
- //減速率 [X軸,Y軸,回転]
- var xDeceleration:Number =0.98;//1以下にして原則するようにする。1以上にすると加速してどっかいく
- var yDeceleration:Number = 0.98;//1以下にして原則するようにする。1以上にすると加速してどっかいく。ここをちょっと小さくすると、水の中っぽくなるね
- var rotationDeceleration:Number = 0.98;//回転
- //重力
- var gravity:Number = 0.35;//ほんとの重力加速度は9.80665だけど、ここまで大きくしちゃうと、すぐおっこってちゃうから、小さめに。この部分を小さくすると水の中っぽくなるんで、上に飛び上がる分も大きくなる
- var ms:Number = 0.98;
- var sc:Number = 0.25;//
- var sa:Number = 0.05 * Math.random ();//
- //shape生成と
- var shape:Shape = new Shape();//shapeという名前でデータ型はShapeでオブジェクト作成
- a.addChild(shape);//変数aにshapeを追加→てかこの変数って、どこで使うの??????
- //shape.graphics.beginFill(0xf00000 * Math.random());//色をランダムに※これだと、真っ赤とか、でない
- shape.graphics.beginFill(0xffffff * Math.random());//これだと真っ黒から真っ白まででる。真っ赤もでる
- shape.graphics.drawCircle(0, 0, 10);//半径10の円
- shape.graphics.endFill();
- shape.x = b;//shape.xにbを代入(bはcreateClipの引数) xAxis = stage.mouseX
- shape.y = c;//shape.yにcを代入(cはcreateClipの引数) yAxis = stage.mouseY
- shape.rotation = 30;//30度回転
- shape.alpha=0;//透明:で出しが見えないように
- shape.filters=[ new BlurFilter(10,10) ]//フィルターをかけてぼかす
- shape.blendMode = "add";
- //流れ落ちる動き
- shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);//shapeオブジェクトにエンターフレームイベント
- //shapeオブジェクトのエンターフレームイベントの関数定義
- function __onEnterFrame (e:Event):void
- {
- shape.alpha=1;//シェイプは不透明に
- xSpeed = xSpeed * xDeceleration;//スピードは、どんどん減速して、あまりx軸に対して広範囲には散らなくなる
- ySpeed = ySpeed * yDeceleration + gravity;//スピードは、どんどん減速し。常に重力関数の影響を加算し続ける(var gravity:Number = 0.35)
- ratationSpeed = ratationSpeed * rotationDeceleration;//
- e.target.x = e.target.x + xSpeed;//イベントのx軸プロパティをターゲットに→直後の位置を代入し続ける
- e.target.y = e.target.y + ySpeed;//イベントのy軸プロパティをターゲットに→直後の位置を代入し続ける
- e.target.rotation = e.target.rotation + ratationSpeed;//
- /*
- var sc:Number = 0.25;//
- var sa:Number = 0.05 * Math.random ();//
- */
- sc = sc + sa;
- //縮尺率
- e.target.scaleX =4 * Math.sin (Math.PI * sc);
- e.target.scaleY =0.5 * Math.cos (Math.PI * sc);
- //もしイベントのx座標+100がxLimit(xLimit = stage.stageWidth * 2;//ステージの2倍の大きさまで)より大きいもしくは(yも同様に)の場合
- if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
- {
- //イベントのアルファは
- e.target.alpha = Math.round (yLimit - e.target.y);//Math.round小数点以下を四捨五入する
- //もしイベントのアルファが0以下になったら
- if (e.target.alpha<=0)
- {
- //エンターフレームイベントをremoveする
- shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
- //実行関数removeMC ()
- removeMC ();
- }
- }
- }
- //関数removeMC ()の定義
- function removeMC ():void
- {
- a.removeChild (shape);//aに追加したshapeをremoveする
- }
- }
- //関数randomInt()の定義 引数(max:int,min:int)
- /*
- private function randomInt(max:int,min:int):int
- {
- //
- var value:int = min + Math.floor(Math.random() * (max - min));
- return value;
- }
- */
- }
- }
- // forked from tktr90755's 流れ落ちる
- package
- {
- import flash.display.MovieClip;
- import flash.display.Shape;
- import flash.display.Stage;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.text.TextField;
- [SWF(frameRate="60")]
- public class Dots extends MovieClip
- {
- //コンテナ
- private var container:MovieClip;
- //噴出位置とリミット位置
- private var xLimit:Number;
- private var yLimit:Number;
- private var xAxis :Number;
- private var yAxis :Number;
- //色
- private var colors:Array = new Array("0xE89A0A", "0xE910DE", "0x0EEB10", "0xE9C010", "0xE2160F", "0xD6EB0B", "0xEB117C", "0xE81167", "0x7E11E8");
- //クリックで切り替え
- private var clickFlug:Boolean = false;
- public function Dots()
- {
- addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- }
- private function onAddedStage(e:Event):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
- stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
- container = new MovieClip();
- addChild (container);
- xLimit = stage.stageWidth * 2;
- yLimit = stage.stageHeight * 2;
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- var textField:TextField=new TextField();
- textField.text="クリックしてね";
- addChild(textField);
- }
- private function _onMouseDown (e:Event):void
- {
- addEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- clickFlug = ! clickFlug
- }
- private function _onMouseUp (e:Event):void
- {
- removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- }
- private function _onMouseMove (e:Event):void
- {
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- }
- private function _onEnterFrame(e:Event):void
- {
- createClip (container, xAxis, yAxis);
- }
- private function createClip (a:MovieClip, b:Number, c:Number):void
- {
- //ランダムな数値
- var value1:Number = Math.floor(Math.random() * 10);
- var value2:Number = Math.floor(Math.random() * 10);
- var value3:Number = Math.floor(Math.random() * 10);
- //速さ [X軸,Y軸,回転]
- var xSpeed:Number = value1 - value2;
- var ySpeed:Number = value3 - 10;
- var ratationSpeed:Number =10;
- if (clickFlug)
- {
- xSpeed = value1 - value2;
- ySpeed = value3 ;
- ratationSpeed =10;
- }
- else
- {
- xSpeed = 1;
- ySpeed = 10;
- ratationSpeed =10;
- }
- //減速率 [X軸,Y軸,回転]
- var xDeceleration:Number = 0.98;
- var yDeceleration:Number = 0.98;
- var rotationDeceleration:Number = 0.98;
- //重力
- var gravity:Number = 0.35;
- var ms:Number = 0.98;
- var sc:Number = 0.25;
- var sa:Number = 0.05 * Math.random ();
- //shape生成と
- var shape:Shape = new Shape();
- a.addChild(shape);
- shape.graphics.beginFill(0xf00000 * Math.random());
- shape.graphics.drawCircle(0, 0, 10);
- shape.graphics.endFill();
- shape.x = b;
- shape.y = c;
- shape.rotation = 30;
- shape.alpha=0;
- //流れ落ちる動き
- shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
- function __onEnterFrame (e:Event):void
- {
- shape.alpha=1;
- xSpeed = xSpeed * xDeceleration;
- ySpeed = ySpeed * yDeceleration + gravity;
- ratationSpeed = ratationSpeed * rotationDeceleration;
- e.target.x = e.target.x + xSpeed;
- e.target.y = e.target.y + ySpeed;
- e.target.rotation = e.target.rotation + ratationSpeed;
- sc = sc + sa;
- e.target.scaleX = 1 * Math.sin (3.141593 * sc);
- e.target.scaleY = 1 * Math.cos (3.141593 * sc);
- if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
- {
- e.target.alpha = Math.round (yLimit - e.target.y);
- if (e.target.alpha<=0)
- {
- shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
- removeMC ();
- }
- }
- }
- function removeMC ():void
- {
- a.removeChild (shape);
- }
- }
- private function randomInt(max:int,min:int):int
- {
- var value:int = min + Math.floor(Math.random() * (max - min));
- return value;
- }
- }
- }
流れ落ちる forked from: 流れ落ちる
- // forked from tktr90755's 流れ落ちる
- package
- {
- import flash.display.MovieClip;
- import flash.display.Shape;
- import flash.display.Stage;
- import flash.events.Event;
- import flash.events.MouseEvent;
- import flash.text.TextField;
- [SWF(frameRate="60")]
- public class Dots extends MovieClip
- {
- //コンテナ
- private var container:MovieClip;
- //噴出位置とリミット位置
- private var xLimit:Number;
- private var yLimit:Number;
- private var xAxis :Number;
- private var yAxis :Number;
- //色
- private var colors:Array = new Array("0xE89A0A", "0xE910DE", "0x0EEB10", "0xE9C010", "0xE2160F", "0xD6EB0B", "0xEB117C", "0xE81167", "0x7E11E8");
- //クリックで切り替え
- private var clickFlug:Boolean = false;
- public function Dots()
- {
- addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- }
- private function onAddedStage(e:Event):void
- {
- removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
- stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
- stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
- container = new MovieClip();
- addChild (container);
- xLimit = stage.stageWidth * 2;
- yLimit = stage.stageHeight * 2;
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- var textField:TextField=new TextField();
- textField.text="クリックしてね";
- addChild(textField);
- }
- private function _onMouseDown (e:Event):void
- {
- addEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- clickFlug = ! clickFlug
- }
- private function _onMouseUp (e:Event):void
- {
- removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
- stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
- }
- private function _onMouseMove (e:Event):void
- {
- xAxis = stage.mouseX;
- yAxis = stage.mouseY;
- }
- private function _onEnterFrame(e:Event):void
- {
- createClip (container, xAxis, yAxis);
- }
- private function createClip (a:MovieClip, b:Number, c:Number):void
- {
- //ランダムな数値
- var value1:Number = Math.floor(Math.random() * 10);
- var value2:Number = Math.floor(Math.random() * 10);
- var value3:Number = Math.floor(Math.random() * 10);
- //速さ [X軸,Y軸,回転]
- var xSpeed:Number = value1 - value2;
- var ySpeed:Number = value3 - 10;
- var ratationSpeed:Number =10;
- if (clickFlug)
- {
- xSpeed = value1 - value2;
- ySpeed = value3 - 10;
- ratationSpeed =10;
- }
- else
- {
- xSpeed = 1;
- ySpeed = -10;
- ratationSpeed =10;
- }
- //減速率 [X軸,Y軸,回転]
- var xDeceleration:Number = 0.98;
- var yDeceleration:Number = 0.98;
- var rotationDeceleration:Number = 0.98;
- //重力
- var gravity:Number = 0.35;
- var ms:Number = 0.98;
- var sc:Number = 0.25;
- var sa:Number = 0.05 * Math.random ();
- //shape生成と
- var shape:Shape = new Shape();
- a.addChild(shape);
- shape.graphics.beginFill(0xf00000 * Math.random());
- shape.graphics.drawCircle(0, 0, 10);
- shape.graphics.endFill();
- shape.x = b;
- shape.y = c;
- shape.rotation = 30;
- shape.alpha=0;
- //流れ落ちる動き
- shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
- function __onEnterFrame (e:Event):void
- {
- shape.alpha=1;
- xSpeed = xSpeed * xDeceleration;
- ySpeed = ySpeed * yDeceleration + gravity;
- ratationSpeed = ratationSpeed * rotationDeceleration;
- e.target.x = e.target.x + xSpeed;
- e.target.y = e.target.y + ySpeed;
- e.target.rotation = e.target.rotation + ratationSpeed;
- sc = sc + sa;
- e.target.scaleX = 1 * Math.sin (3.141593 * sc);
- e.target.scaleY = 1 * Math.cos (3.141593 * sc);
- if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
- {
- e.target.alpha = Math.round (yLimit - e.target.y);
- if (e.target.alpha<=0)
- {
- shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
- removeMC ();
- }
- }
- }
- function removeMC ():void
- {
- a.removeChild (shape);
- }
- }
- private function randomInt(max:int,min:int):int
- {
- var value:int = min + Math.floor(Math.random() * (max - min));
- return value;
- }
- }
- }
notice: 



