※現在、「wonderfl build flash online」求人コンテンツ制作に関してのアンケートを実施中です!みなさまのお力添えを頂いて、続々とアンケート結果が集まっていますが、まだまだ募集しております。ご協力のほど、どうぞよろしくお願いいたします!

wonderfl運営事務局
→アンケートページ(※ログインしてからお答えいただけるようになっています。)

 notice: Flash editor updated! Join the development! Thanks to MiniBuilder


FORKED
  1. // forked from tktr90755's 流れ落ちる
  2. package
  3. {
  4.     
  5.     import flash.display.MovieClip;
  6.     import flash.display.Shape;
  7.     import flash.display.Stage;
  8.     import flash.events.Event;
  9.     import flash.events.MouseEvent;
  10.     import flash.text.TextField;
  11.         [SWF(frameRate="60")] 
  12.     public class Dots extends MovieClip
  13.     {
  14.         //コンテナ
  15.         private var container:MovieClip;
  16.         //噴出位置とリミット位置
  17.         private var xLimit:Number;
  18.         private var yLimit:Number;
  19.         private var xAxis :Number;
  20.         private var yAxis :Number;
  21.         //色
  22.         private var colors:Array = new Array("0xE89A0A""0xE910DE""0x0EEB10""0xE9C010""0xE2160F""0xD6EB0B""0xEB117C""0xE81167""0x7E11E8");
  23.         //クリックで切り替え
  24.         private var clickFlug:Boolean = false;
  25.         
  26.         public function Dots()
  27.         {
  28.            addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  29.         }
  30.         
  31.         private function onAddedStage(e:Event):void 
  32.         {
  33.             removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  34.             stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
  35.             stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
  36.             
  37.             container = new MovieClip();
  38.             addChild (container);
  39.             
  40.             xLimit = stage.stageWidth * 2;
  41.             yLimit = stage.stageHeight * 2;
  42.             xAxis  = stage.mouseX;
  43.             yAxis  = stage.mouseY;
  44.             
  45.             var textField:TextField=new TextField();
  46.             textField.text="クリックしてね";
  47.             addChild(textField);
  48.         }
  49.         private function _onMouseDown (e:Event):void
  50.         {
  51.             addEventListener(Event.ENTER_FRAME, _onEnterFrame);
  52.             stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  53.             clickFlug = ! clickFlug
  54.         }
  55.         private function _onMouseUp (e:Event):void
  56.         {
  57.             removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
  58.             stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  59.         }
  60.         private function _onMouseMove (e:Event):void
  61.         {
  62.             xAxis = stage.mouseX;
  63.             yAxis = stage.mouseY;
  64.         }
  65.         private function _onEnterFrame(e:Event):void
  66.         {
  67.             createClip (container, xAxis, yAxis);
  68.         }
  69.         
  70.         private function createClip (a:MovieClip, b:Number, c:Number):void
  71.         {
  72.             //ランダムな数値
  73.             var value1:Number = Math.floor(Math.random() * 10);
  74.             var value2:Number = Math.floor(Math.random() * 10);
  75.             var value3:Number = Math.floor(Math.random() * 10);
  76.             //速さ [X軸,Y軸,回転]
  77.             var xSpeed:Number = value1 - value2;
  78.             var ySpeed:Number = value3 - 10;
  79.             var ratationSpeed:Number =10;
  80.             if (clickFlug)
  81.             {
  82.                 xSpeed = value1 - value2;
  83.                 ySpeed = value3 - 10;
  84.                 ratationSpeed =10;
  85.             }
  86.             else
  87.             {
  88.                 xSpeed = 1;
  89.                 ySpeed = -10;
  90.                 ratationSpeed =10;
  91.             }
  92.             //減速率 [X軸,Y軸,回転]
  93.             var xDeceleration:Number = 0.98;
  94.             var yDeceleration:Number = 0.98;
  95.             var rotationDeceleration:Number = 0.98;
  96.             //重力
  97.             var gravity:Number = 0.35;
  98.             var ms:Number = 0.98;
  99.             var sc:Number = 0.25;
  100.             var sa:Number = 0.05 * Math.random ();
  101.             //shape生成と
  102.             var shape:Shape = new Shape();
  103.             a.addChild(shape);
  104.             shape.graphics.beginFill(0xf00000 * Math.random());
  105.             shape.graphics.drawCircle(0010);
  106.             shape.graphics.endFill();
  107.             shape.x = b;
  108.             shape.y = c;
  109.             shape.rotation = 30;
  110.             shape.alpha=0;
  111.             //流れ落ちる動き
  112.             shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
  113.             function __onEnterFrame (e:Event):void
  114.             {
  115.                 shape.alpha=1;
  116.                 xSpeed = xSpeed * xDeceleration;
  117.                 ySpeed = ySpeed * yDeceleration + gravity;
  118.                 ratationSpeed = ratationSpeed * rotationDeceleration;
  119.                 e.target.x = e.target.x + xSpeed;
  120.                 e.target.y = e.target.y + ySpeed;
  121.                 e.target.rotation = e.target.rotation + ratationSpeed;
  122.                 sc = sc + sa;
  123.                 e.target.scaleX = 1 * Math.sin (3.141593 * sc);
  124.                 e.target.scaleY = 1 * Math.cos (3.141593 * sc);
  125.                 if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
  126.                 {
  127.                     e.target.alpha = Math.round (yLimit - e.target.y);
  128.                     if (e.target.alpha<=0)
  129.                     {
  130.                         shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
  131.                         removeMC ();
  132.                     }
  133.                 }
  134.             }
  135.             function removeMC ():void
  136.             {
  137.                 a.removeChild (shape);
  138.             }
  139.         }
  140.         private function randomInt(max:int,min:int):int
  141.         {
  142.             var value:int = min + Math.floor(Math.random() * (max - min));
  143.             return value;
  144.         }
  145.     }
  146. }
noswf
  1. // forked from tktr90755's 流れ落ちる
  2. package
  3. {
  4.     
  5.     import flash.display.MovieClip;
  6.     import flash.display.Shape;
  7.     import flash.display.Stage;
  8.     import flash.events.Event;
  9.     import flash.events.MouseEvent;
  10.     import flash.text.TextField;
  11.         [SWF(frameRate="60")] 
  12.     public class Dots extends MovieClip
  13.     {
  14.         //コンテナ
  15.         private var container:MovieClip;
  16.         //噴出位置とリミット位置
  17.         private var xLimit:Number;
  18.         private var yLimit:Number;
  19.         private var xAxis :Number;
  20.         private var yAxis :Number;
  21.         //色
  22.         private var colors:Array = new Array("0xE89A0A""0xE910DE""0x0EEB10""0xE9C010""0xE2160F""0xD6EB0B""0xEB117C""0xE81167""0x7E11E8");
  23.         //クリックで切り替え
  24.         private var clickFlug:Boolean = false;
  25.         
  26.         public function Dots()
  27.         {
  28.            addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  29.         }
  30.         
  31.         private function onAddedStage(e:Event):void 
  32.         {
  33.             removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  34.             stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
  35.             stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
  36.             
  37.             container = new MovieClip();
  38.             addChild (container);
  39.             
  40.             xLimit = stage.stageWidth * 2;
  41.             yLimit = stage.stageHeight * 2;
  42.             xAxis  = stage.mouseX;
  43.             yAxis  = stage.mouseY;
  44.             
  45.             var textField:TextField=new TextField();
  46.             textField.text="クリックしてね";
  47.             addChild(textField);
  48.         }
  49.         private function _onMouseDown (e:Event):void
  50.         {
  51.             addEventListener(Event.ENTER_FRAME, _onEnterFrame);
  52.             stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  53.             clickFlug = ! clickFlug
  54.         }
  55.         private function _onMouseUp (e:Event):void
  56.         {
  57.             removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
  58.             stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  59.         }
  60.         private function _onMouseMove (e:Event):void
  61.         {
  62.             xAxis = stage.mouseX;
  63.             yAxis = stage.mouseY;
  64.         }
  65.         private function _onEnterFrame(e:Event):void
  66.         {
  67.             createClip (container, xAxis, yAxis);
  68.         }
  69.         
  70.         private function createClip (a:MovieClip, b:Number, c:Number):void
  71.         {
  72.             //ランダムな数値
  73.             var value1:Number = Math.floor(Math.random() * 10);
  74.             var value2:Number = Math.floor(Math.random() * 10);
  75.             var value3:Number = Math.floor(Math.random() * 10);
  76.             //速さ [X軸,Y軸,回転]
  77.             var xSpeed:Number = value1 - value2;
  78.             var ySpeed:Number = value3 - 10;
  79.             var ratationSpeed:Number =10;
  80.             if (clickFlug)
  81.             {
  82.                 xSpeed = value1 - value2;
  83.                 ySpeed = value3 - 10;
  84.                 ratationSpeed =10;
  85.             }
  86.             else
  87.             {
  88.                 xSpeed = 1;
  89.                 ySpeed = -10;
  90.                 ratationSpeed =10;
  91.             }
  92.             //減速率 [X軸,Y軸,回転]
  93.             var xDeceleration:Number = 0.98;
  94.             var yDeceleration:Number = 0.98;
  95.             var rotationDeceleration:Number = 0.98;
  96.             //重力
  97.             var gravity:Number = 0.35;
  98.             var ms:Number = 0.98;
  99.             var sc:Number = 0.25;
  100.             var sa:Number = 0.05 * Math.random ();
  101.             //shape生成と
  102.             var shape:Shape = new Shape();
  103.             a.addChild(shape);
  104.             shape.graphics.beginFill(0xf00000 * Math.random());
  105.             shape.graphics.drawCircle(0010);
  106.             shape.graphics.endFill();
  107.             shape.x = b;
  108.             shape.y = c;
  109.             shape.rotation = 30;
  110.             shape.alpha=0;
  111.             //流れ落ちる動き
  112.             shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
  113.             function __onEnterFrame (e:Event):void
  114.             {
  115.                 shape.alpha=1;
  116.                 xSpeed = xSpeed * xDeceleration;
  117.                 ySpeed = ySpeed * yDeceleration + gravity;
  118.                 ratationSpeed = ratationSpeed * rotationDeceleration;
  119.                 e.target.x = e.target.x + xSpeed;
  120.                 e.target.y = e.target.y + ySpeed;
  121.                 e.target.rotation = e.target.rotation + ratationSpeed;
  122.                 sc = sc + sa;
  123.                 e.target.scaleX = 1 * Math.sin (3.141593 * sc);
  124.                 e.target.scaleY = 1 * Math.cos (3.141593 * sc);
  125.                 if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
  126.                 {
  127.                     e.target.alpha = Math.round (yLimit - e.target.y);
  128.                     if (e.target.alpha<=0)
  129.                     {
  130.                         shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
  131.                         removeMC ();
  132.                     }
  133.                 }
  134.             }
  135.             function removeMC ():void
  136.             {
  137.                 a.removeChild (shape);
  138.             }
  139.         }
  140.         private function randomInt(max:int,min:int):int
  141.         {
  142.             var value:int = min + Math.floor(Math.random() * (max - min));
  143.             return value;
  144.         }
  145.     }
  146. }
noswf
  1. // forked from tktr90755's 流れ落ちる
  2. package
  3. {
  4.     //各種基底クラスを読み込んでおきます
  5.     /*
  6.     import flash.display.MovieClip;
  7.     import flash.display.Shape;//図を描くのに使うよflashの描画ツール系
  8.     import flash.display.Stage;//flashコンテンツが表示される領域全体を現す
  9.     import flash.events.Event;
  10.     import flash.events.MouseEvent;
  11.     import flash.text.TextField;//textFieldを制御する
  12.     */
  13.     import flash.display.*;
  14.     import flash.events.*;
  15.     import flash.text.*;
  16.     import flash.filters.BlurFilter;
  17.          [SWF(frameRate="60",backgroundColor="#000000")] //フレームレートは60fps
  18.         
  19.     //ムービークリップを継承した、パブリッククラスnagareotiruです
  20.     //flaファイルから見えるようにするよ。(public class:package外から見えるようにする(flaファイル含む))
  21.     public class nagareotiru extends MovieClip//ムービークリップの機能を引き継いだ上で、拡張しますよ~
  22.     {
  23.         //コンテナ:型はMovieClip※
  24.         private var container:MovieClip;
  25.         
  26.         //▼プロパティの定義(クラス内の変数を定義)※プロパティをほかのクラスから呼び出せるようにするにはpublicを定義の先頭につける
  27.         //噴出位置とリミット位置
  28.         private var xLimit:Number;
  29.         private var yLimit:Number;
  30.         private var xAxis :Number;
  31.         private var yAxis :Number;
  32.         //色:9色をArrayに格納※今回使わない
  33.         //private var colors:Array = new Array("0xE89A0A", "0xE910DE", "0x0EEB10", "0xE9C010", "0xE2160F", "0xD6EB0B", "0xEB117C", "0xE81167", "0x7E11E8");
  34.         //クリックで切り替え:Boolean型→true or false型
  35.         private var clickFlag:Boolean = false;//clickFlagはfalse
  36.         
  37.         
  38.         
  39.         //▼コンストラクタnagareotiru定義※必ず、publicとして定義する コンストラクタは戻り値を返さない
  40.         public function nagareotiru()
  41.         {
  42.             //
  43.            addEventListener(Event.ADDED_TO_STAGE, onAddedStage);//ADDED_TO_STAGE:ステージに追加イベント
  44.         }
  45.         
  46.         //▼メソッドの定義※メソッドをほかのクラスから呼び出せるようにするにはpublicを定義の先頭につける
  47.         //onAddedStage:ステージ上に表示する関係
  48.         private function onAddedStage(e:Event):void 
  49.         {
  50.             removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);//ADDED_TO_STAGE:ステージに追加イベントを削除。ずっとEnterFrameし続けないように
  51.             stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);//マウスが押されている間、ステージ上にイベント
  52.             stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);//マウスが動いている間、ステージ上にイベント
  53.             
  54.             container = new MovieClip();//ムービークリップ型の”container”というオブジェクトを作成(し、呼び出し)
  55.             addChild (container);//ステージ上にcontainerを表示
  56.             
  57.             xLimit = stage.stageWidth * 2;//ステージの2倍の大きさまで
  58.             yLimit = stage.stageHeight * 2;//ステージの2倍の大きさまで
  59.             xAxis  = stage.mouseX;//初期位置はステージ上のマウスの位置に
  60.             yAxis  = stage.mouseY;//初期位置はステージ上のマウスの位置に
  61.             
  62.             var textField:TextField=new TextField();//textFieldというTextField型のインスタンスを作成し、呼び出し
  63.             textField.text="クリックするといい事ある。マウス押したままうごかす。クリックするごとに動き方が変わる。";//textFieldに表示
  64.             textField.width=550;
  65.             textField.textColor=0xffffff;
  66.             addChild(textField);//ステージ上にtextFieldを表示
  67.         }
  68.         
  69.         //_onMouseDown:マウス押される関係
  70.         private function _onMouseDown (e:Event):void
  71.         {
  72.             addEventListener(Event.ENTER_FRAME, _onEnterFrame);//エンターフレームイベント(ずっとイベント)
  73.             stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);//ステージ上で、MOUSE_UPイベント:マウス放すとなんかある(押してた状態から離した状態になったら)
  74.             clickFlag = ! clickFlag//初期値はfalseが入ってるね。これでfalseとtrueきりかえ。つまりマウス押されたらtrueになって放すと初期値falseに戻るんだね。
  75.         }
  76.         
  77.         //_onMouseUp:マウス放す関係
  78.         private function _onMouseUp (e:Event):void
  79.         {
  80.             removeEventListener(Event.ENTER_FRAME, _onEnterFrame);//マウス押されてたときのエンターフレームイベント(ずっとイベント)をremove
  81.             stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);//ステージ上で、MOUSE_UPイベント:マウス放すとなんかある(押してた状態から離した状態になったら)をremove
  82.         }
  83.         
  84.         //_onMouseMove:マウス動かす関係
  85.         private function _onMouseMove (e:Event):void
  86.         {
  87.             xAxis = stage.mouseX;//位置はマウスの位置に追従
  88.             yAxis = stage.mouseY;//位置はマウスの位置に追従
  89.         }
  90.         
  91.         //_onEnterFrame:エンターフレーム関係
  92.         private function _onEnterFrame(e:Event):void
  93.         {
  94.             createClip (container, xAxis, yAxis);//createClipという実行関数を作成(実行)してわたす引数は(container, xAxis, yAxis)
  95.         }
  96.         
  97.         //createClipという関数の定義(引数は3つ↑あれに代入)
  98.         private function createClip (a:MovieClip, b:Number, c:Number):void
  99.         {
  100.             //ランダムな数値
  101.             //ランダムにすることで飛び散る
  102.             var value1:Number = Math.floor(Math.random() * 10);//0~9まで
  103.             var value2:Number = Math.floor(Math.random() * 10);//0~9まで
  104.             var value3:Number = Math.floor(Math.random() * 10);//0~9まで
  105.             
  106.             /*ランダムにしないと飛び散らない
  107.             var value1:Number = 9;
  108.             var value2:Number = 9;
  109.             var value3:Number = 9;
  110.             */
  111.             
  112.             //速さ [X軸,Y軸,回転]
  113.             var xSpeed:Number = value1 - value2;//ランダムな値が入ってくるから、飛び散った感が出る
  114.             var ySpeed:Number = value3 -10;//必ず負の値になる
  115.             var ratationSpeed:Number =10;//回転スピードは10で固定
  116.             
  117.             //マウスをクリックするたびに、飛び散りと流れ落ちが切り替わる
  118.             if (clickFlag)
  119.             {
  120.                 xSpeed = value1 - value2;
  121.                 ySpeed = value3 - 10;
  122.                 ratationSpeed =10;
  123.             }
  124.             else
  125.             {
  126.                 xSpeed = 1;
  127.                 ySpeed = -10;
  128.                 ratationSpeed =10;
  129.             }
  130.             
  131.             //減速率 [X軸,Y軸,回転]
  132.             var xDeceleration:Number =0.98;//1以下にして原則するようにする。1以上にすると加速してどっかいく
  133.             var yDeceleration:Number = 0.98;//1以下にして原則するようにする。1以上にすると加速してどっかいく。ここをちょっと小さくすると、水の中っぽくなるね
  134.             var rotationDeceleration:Number = 0.98;//回転
  135.             
  136.             //重力
  137.             var gravity:Number = 0.35;//ほんとの重力加速度は9.80665だけど、ここまで大きくしちゃうと、すぐおっこってちゃうから、小さめに。この部分を小さくすると水の中っぽくなるんで、上に飛び上がる分も大きくなる
  138.             var ms:Number = 0.98;
  139.             var sc:Number = 0.25;//
  140.             var sa:Number = 0.05 * Math.random ();//
  141.             
  142.             //shape生成と
  143.             var shape:Shape = new Shape();//shapeという名前でデータ型はShapeでオブジェクト作成
  144.             a.addChild(shape);//変数aにshapeを追加→てかこの変数って、どこで使うの??????
  145.             //shape.graphics.beginFill(0xf00000 * Math.random());//色をランダムに※これだと、真っ赤とか、でない
  146.             shape.graphics.beginFill(0xffffff * Math.random());//これだと真っ黒から真っ白まででる。真っ赤もでる
  147.             shape.graphics.drawCircle(0010);//半径10の円
  148.             shape.graphics.endFill();
  149.             shape.x = b;//shape.xにbを代入(bはcreateClipの引数) xAxis = stage.mouseX
  150.             shape.y = c;//shape.yにcを代入(cはcreateClipの引数) yAxis = stage.mouseY
  151.             shape.rotation = 30;//30度回転
  152.             shape.alpha=0;//透明:で出しが見えないように
  153.             shape.filters=[ new BlurFilter(10,10) ]//フィルターをかけてぼかす
  154.             shape.blendMode = "add";
  155.             
  156.             
  157.             
  158.             //流れ落ちる動き
  159.             shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);//shapeオブジェクトにエンターフレームイベント
  160.             //shapeオブジェクトのエンターフレームイベントの関数定義
  161.             function __onEnterFrame (e:Event):void
  162.             {
  163.                 shape.alpha=1;//シェイプは不透明に
  164.                 xSpeed = xSpeed * xDeceleration;//スピードは、どんどん減速して、あまりx軸に対して広範囲には散らなくなる
  165.                 ySpeed = ySpeed * yDeceleration + gravity;//スピードは、どんどん減速し。常に重力関数の影響を加算し続ける(var gravity:Number = 0.35)
  166.                 ratationSpeed = ratationSpeed * rotationDeceleration;//
  167.                 e.target.x = e.target.x + xSpeed;//イベントのx軸プロパティをターゲットに→直後の位置を代入し続ける
  168.                 e.target.y = e.target.y + ySpeed;//イベントのy軸プロパティをターゲットに→直後の位置を代入し続ける
  169.                 e.target.rotation = e.target.rotation + ratationSpeed;//
  170.                 
  171.                 /*
  172.                 var sc:Number = 0.25;//
  173.                 var sa:Number = 0.05 * Math.random ();//
  174.                 */
  175.                 sc = sc + sa;
  176.                 
  177.                 //縮尺率
  178.                 e.target.scaleX =4 * Math.sin (Math.PI * sc);
  179.                 e.target.scaleY =0.5 * Math.cos (Math.PI * sc);
  180.                 //もしイベントのx座標+100がxLimit(xLimit = stage.stageWidth * 2;//ステージの2倍の大きさまで)より大きいもしくは(yも同様に)の場合
  181.                 if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
  182.                 {
  183.                     //イベントのアルファは
  184.                     e.target.alpha = Math.round (yLimit - e.target.y);//Math.round小数点以下を四捨五入する
  185.                     //もしイベントのアルファが0以下になったら
  186.                     if (e.target.alpha<=0)
  187.                     {
  188.                         //エンターフレームイベントをremoveする
  189.                         shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
  190.                         //実行関数removeMC ()
  191.                         removeMC ();
  192.                     }
  193.                 }
  194.             }
  195.             
  196.             //関数removeMC ()の定義
  197.             
  198.             function removeMC ():void
  199.             {
  200.                 a.removeChild (shape);//aに追加したshapeをremoveする
  201.             }
  202.         }
  203.         //関数randomInt()の定義 引数(max:int,min:int)
  204.         /*
  205.         private function randomInt(max:int,min:int):int
  206.         {
  207.             //
  208.             var value:int = min + Math.floor(Math.random() * (max - min));
  209.             return value;
  210.         }
  211.         */
  212.         
  213.     }
  214. }
noswf
  1. // forked from tktr90755's 流れ落ちる
  2. package
  3. {
  4.     
  5.     import flash.display.MovieClip;
  6.     import flash.display.Shape;
  7.     import flash.display.Stage;
  8.     import flash.events.Event;
  9.     import flash.events.MouseEvent;
  10.     import flash.text.TextField;
  11.         [SWF(frameRate="60")] 
  12.     public class Dots extends MovieClip
  13.     {
  14.         //コンテナ
  15.         private var container:MovieClip;
  16.         //噴出位置とリミット位置
  17.         private var xLimit:Number;
  18.         private var yLimit:Number;
  19.         private var xAxis :Number;
  20.         private var yAxis :Number;
  21.         //色
  22.         private var colors:Array = new Array("0xE89A0A""0xE910DE""0x0EEB10""0xE9C010""0xE2160F""0xD6EB0B""0xEB117C""0xE81167""0x7E11E8");
  23.         //クリックで切り替え
  24.         private var clickFlug:Boolean = false;
  25.         
  26.         public function Dots()
  27.         {
  28.            addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  29.         }
  30.         
  31.         private function onAddedStage(e:Event):void 
  32.         {
  33.             removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  34.             stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
  35.             stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
  36.             
  37.             container = new MovieClip();
  38.             addChild (container);
  39.             
  40.             xLimit = stage.stageWidth * 2;
  41.             yLimit = stage.stageHeight * 2;
  42.             xAxis  = stage.mouseX;
  43.             yAxis  = stage.mouseY;
  44.             
  45.             var textField:TextField=new TextField();
  46.             textField.text="クリックしてね";
  47.             addChild(textField);
  48.         }
  49.         private function _onMouseDown (e:Event):void
  50.         {
  51.             addEventListener(Event.ENTER_FRAME, _onEnterFrame);
  52.             stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  53.             clickFlug = ! clickFlug
  54.         }
  55.         private function _onMouseUp (e:Event):void
  56.         {
  57.             removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
  58.             stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  59.         }
  60.         private function _onMouseMove (e:Event):void
  61.         {
  62.             xAxis = stage.mouseX;
  63.             yAxis = stage.mouseY;
  64.         }
  65.         private function _onEnterFrame(e:Event):void
  66.         {
  67.             createClip (container, xAxis, yAxis);
  68.         }
  69.         
  70.         private function createClip (a:MovieClip, b:Number, c:Number):void
  71.         {
  72.             //ランダムな数値
  73.             var value1:Number = Math.floor(Math.random() * 10);
  74.             var value2:Number = Math.floor(Math.random() * 10);
  75.             var value3:Number = Math.floor(Math.random() * 10);
  76.             //速さ [X軸,Y軸,回転]
  77.             var xSpeed:Number = value1 - value2;
  78.             var ySpeed:Number = value3 - 10;
  79.             var ratationSpeed:Number =10;
  80.             if (clickFlug)
  81.             {
  82.                 xSpeed = value1 - value2;
  83.                 ySpeed = value3 ;
  84.                 ratationSpeed =10;
  85.             }
  86.             else
  87.             {
  88.                 xSpeed = 1;
  89.                 ySpeed = 10;
  90.                 ratationSpeed =10;
  91.             }
  92.             //減速率 [X軸,Y軸,回転]
  93.             var xDeceleration:Number = 0.98;
  94.             var yDeceleration:Number = 0.98;
  95.             var rotationDeceleration:Number = 0.98;
  96.             //重力
  97.             var gravity:Number = 0.35;
  98.             var ms:Number = 0.98;
  99.             var sc:Number = 0.25;
  100.             var sa:Number = 0.05 * Math.random ();
  101.             //shape生成と
  102.             var shape:Shape = new Shape();
  103.             a.addChild(shape);
  104.             shape.graphics.beginFill(0xf00000 * Math.random());
  105.             shape.graphics.drawCircle(0010);
  106.             shape.graphics.endFill();
  107.             shape.x = b;
  108.             shape.y = c;
  109.             shape.rotation = 30;
  110.             shape.alpha=0;
  111.             //流れ落ちる動き
  112.             shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
  113.             function __onEnterFrame (e:Event):void
  114.             {
  115.                 shape.alpha=1;
  116.                 xSpeed = xSpeed * xDeceleration;
  117.                 ySpeed = ySpeed * yDeceleration + gravity;
  118.                 ratationSpeed = ratationSpeed * rotationDeceleration;
  119.                 e.target.x = e.target.x + xSpeed;
  120.                 e.target.y = e.target.y + ySpeed;
  121.                 e.target.rotation = e.target.rotation + ratationSpeed;
  122.                 sc = sc + sa;
  123.                 e.target.scaleX = 1 * Math.sin (3.141593 * sc);
  124.                 e.target.scaleY = 1 * Math.cos (3.141593 * sc);
  125.                 if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
  126.                 {
  127.                     e.target.alpha = Math.round (yLimit - e.target.y);
  128.                     if (e.target.alpha<=0)
  129.                     {
  130.                         shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
  131.                         removeMC ();
  132.                     }
  133.                 }
  134.             }
  135.             function removeMC ():void
  136.             {
  137.                 a.removeChild (shape);
  138.             }
  139.         }
  140.         private function randomInt(max:int,min:int):int
  141.         {
  142.             var value:int = min + Math.floor(Math.random() * (max - min));
  143.             return value;
  144.         }
  145.     }
  146. }
noswf
  1. // forked from tktr90755's 流れ落ちる
  2. package
  3. {
  4.     
  5.     import flash.display.MovieClip;
  6.     import flash.display.Shape;
  7.     import flash.display.Stage;
  8.     import flash.events.Event;
  9.     import flash.events.MouseEvent;
  10.     import flash.text.TextField;
  11.         [SWF(frameRate="60")] 
  12.     public class Dots extends MovieClip
  13.     {
  14.         //コンテナ
  15.         private var container:MovieClip;
  16.         //噴出位置とリミット位置
  17.         private var xLimit:Number;
  18.         private var yLimit:Number;
  19.         private var xAxis :Number;
  20.         private var yAxis :Number;
  21.         //色
  22.         private var colors:Array = new Array("0xE89A0A""0xE910DE""0x0EEB10""0xE9C010""0xE2160F""0xD6EB0B""0xEB117C""0xE81167""0x7E11E8");
  23.         //クリックで切り替え
  24.         private var clickFlug:Boolean = false;
  25.         
  26.         public function Dots()
  27.         {
  28.            addEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  29.         }
  30.         
  31.         private function onAddedStage(e:Event):void 
  32.         {
  33.             removeEventListener(Event.ADDED_TO_STAGE, onAddedStage);
  34.             stage.addEventListener (MouseEvent.MOUSE_DOWN, _onMouseDown);
  35.             stage.addEventListener (MouseEvent.MOUSE_MOVE, _onMouseMove);
  36.             
  37.             container = new MovieClip();
  38.             addChild (container);
  39.             
  40.             xLimit = stage.stageWidth * 2;
  41.             yLimit = stage.stageHeight * 2;
  42.             xAxis  = stage.mouseX;
  43.             yAxis  = stage.mouseY;
  44.             
  45.             var textField:TextField=new TextField();
  46.             textField.text="クリックしてね";
  47.             addChild(textField);
  48.         }
  49.         private function _onMouseDown (e:Event):void
  50.         {
  51.             addEventListener(Event.ENTER_FRAME, _onEnterFrame);
  52.             stage.addEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  53.             clickFlug = ! clickFlug
  54.         }
  55.         private function _onMouseUp (e:Event):void
  56.         {
  57.             removeEventListener(Event.ENTER_FRAME, _onEnterFrame);
  58.             stage.removeEventListener(MouseEvent.MOUSE_UP, _onMouseUp);
  59.         }
  60.         private function _onMouseMove (e:Event):void
  61.         {
  62.             xAxis = stage.mouseX;
  63.             yAxis = stage.mouseY;
  64.         }
  65.         private function _onEnterFrame(e:Event):void
  66.         {
  67.             createClip (container, xAxis, yAxis);
  68.         }
  69.         
  70.         private function createClip (a:MovieClip, b:Number, c:Number):void
  71.         {
  72.             //ランダムな数値
  73.             var value1:Number = Math.floor(Math.random() * 10);
  74.             var value2:Number = Math.floor(Math.random() * 10);
  75.             var value3:Number = Math.floor(Math.random() * 10);
  76.             //速さ [X軸,Y軸,回転]
  77.             var xSpeed:Number = value1 - value2;
  78.             var ySpeed:Number = value3 - 10;
  79.             var ratationSpeed:Number =10;
  80.             if (clickFlug)
  81.             {
  82.                 xSpeed = value1 - value2;
  83.                 ySpeed = value3 - 10;
  84.                 ratationSpeed =10;
  85.             }
  86.             else
  87.             {
  88.                 xSpeed = 1;
  89.                 ySpeed = -10;
  90.                 ratationSpeed =10;
  91.             }
  92.             //減速率 [X軸,Y軸,回転]
  93.             var xDeceleration:Number = 0.98;
  94.             var yDeceleration:Number = 0.98;
  95.             var rotationDeceleration:Number = 0.98;
  96.             //重力
  97.             var gravity:Number = 0.35;
  98.             var ms:Number = 0.98;
  99.             var sc:Number = 0.25;
  100.             var sa:Number = 0.05 * Math.random ();
  101.             //shape生成と
  102.             var shape:Shape = new Shape();
  103.             a.addChild(shape);
  104.             shape.graphics.beginFill(0xf00000 * Math.random());
  105.             shape.graphics.drawCircle(0010);
  106.             shape.graphics.endFill();
  107.             shape.x = b;
  108.             shape.y = c;
  109.             shape.rotation = 30;
  110.             shape.alpha=0;
  111.             //流れ落ちる動き
  112.             shape.addEventListener (Event.ENTER_FRAME,__onEnterFrame);
  113.             function __onEnterFrame (e:Event):void
  114.             {
  115.                 shape.alpha=1;
  116.                 xSpeed = xSpeed * xDeceleration;
  117.                 ySpeed = ySpeed * yDeceleration + gravity;
  118.                 ratationSpeed = ratationSpeed * rotationDeceleration;
  119.                 e.target.x = e.target.x + xSpeed;
  120.                 e.target.y = e.target.y + ySpeed;
  121.                 e.target.rotation = e.target.rotation + ratationSpeed;
  122.                 sc = sc + sa;
  123.                 e.target.scaleX = 1 * Math.sin (3.141593 * sc);
  124.                 e.target.scaleY = 1 * Math.cos (3.141593 * sc);
  125.                 if (e.target.x + 100 > xLimit || e.target.y + 100 > yLimit )
  126.                 {
  127.                     e.target.alpha = Math.round (yLimit - e.target.y);
  128.                     if (e.target.alpha<=0)
  129.                     {
  130.                         shape.removeEventListener (Event.ENTER_FRAME, __onEnterFrame);
  131.                         removeMC ();
  132.                     }
  133.                 }
  134.             }
  135.             function removeMC ():void
  136.             {
  137.                 a.removeChild (shape);
  138.             }
  139.         }
  140.         private function randomInt(max:int,min:int):int
  141.         {
  142.             var value:int = min + Math.floor(Math.random() * (max - min));
  143.             return value;
  144.         }
  145.     }
  146. }
noswf
Get Adobe Flash Player