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


embed

FORKED
  1. // forked from sake's 雪が降る
  2. /*
  3.     雪を降らせる。
  4.     必要になったので調べて作った。
  5. */
  6. package
  7. {
  8.     import flash.display.Sprite;
  9.     [SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="60")]
  10.     public class snows extends Sprite
  11.     {
  12.         public function snows()
  13.         {
  14.             for(var k:int=0; k <250 ; k++) addChild(new snow(stage.stageWidth, stage.stageHeight));
  15.         }
  16.     }
  17. }
  18. import flash.display.Graphics;
  19. import flash.display.Sprite;
  20. import flash.events.Event;
  21. import flash.filters.BlurFilter;
  22. class snow extends Sprite
  23. {
  24.     private var i:Number;
  25.     private var k:Number;
  26.     private var theta:Number;
  27.     private var movieHeight:Number;
  28.     private var movieWidth:Number;
  29.     public function snow(w:Number, h:Number)
  30.     {
  31.         movieHeight=h;
  32.         movieWidth=w;
  33.         i=Math.random() * 1 + 0.5;
  34.         k=-Math.PI + Math.random() * Math.PI;
  35.         theta=0;
  36.         graphics.beginFill(Math.random() * 0xfffff0);
  37.         graphics.drawCircle(003);
  38.         graphics.endFill();
  39.         filters=[new BlurFilter()];
  40.         scaleX=scaleY=Math.random() + 1;
  41.         alpha=Math.random() + 0,8;
  42.         x = -10 + Math.random() * movieWidth;
  43.         y = -10 + Math.random() * movieHeight;
  44.         addEventListener(Event.ENTER_FRAME, onFrame);
  45.     }
  46.     private function onFrame(e:Event):void
  47.     {
  48.         theta+=(k / 180) * Math.PI;
  49.         x-=Math.cos(theta);
  50.         y+=i;
  51.         if (y >= movieHeight)
  52.             y=-5;
  53.         if ((x >= movieWidth) || (x <= 0))
  54.         {
  55.             x = -10 + Math.random() * movieWidth;
  56.             y = -5;
  57.         }
  58.     }
  59. }
noswf
  1. // forked from sake's 雪が降る
  2. /*
  3.     雪を降らせる。
  4.     必要になったので調べて作った。
  5. */
  6. package
  7. {
  8.     import flash.display.Sprite;
  9.     [SWF(width="465", height="465", backgroundColor="0x405060", frameRate="60")]
  10.     public class snows extends Sprite
  11.     {
  12.         public function snows()
  13.         {
  14.             for (var k:int = 0; k < 1000; k++)
  15.                 addChild(new snow(stage.stageWidth, stage.stageHeight));
  16.         }
  17.     }
  18. }
  19. import flash.display.Graphics;
  20. import flash.display.Sprite;
  21. import flash.events.Event;
  22. import flash.filters.BlurFilter;
  23. class snow extends Sprite
  24. {
  25.     private var i:Number;
  26.     private var k:Number;
  27.     private var theta:Number;
  28.     private var movieHeight:Number;
  29.     private var movieWidth:Number;
  30.         private var x0:Number;
  31.         private var y0:Number;
  32.         private var y1:Number;
  33.         private static const margin:Number = 5;
  34.     public function snow(w:Number, h:Number)
  35.     {
  36.         movieHeight = h + margin * 2;
  37.         movieWidth = w + margin * 2;
  38.                 x0 = -margin;
  39.                 y0 = -margin;
  40.                 y1 = h + margin;
  41.         i = Math.random() * 1 + 0.5;
  42.         k = 0.02;
  43.                 theta = Math.random() * Math.PI - Math.PI;
  44.         graphics.beginFill(0xffffff, 1);
  45.         graphics.drawCircle(003);
  46.         graphics.endFill();
  47.         filters=[new BlurFilter()];
  48.                 var a:Number = Math.random();
  49.         scaleX = scaleY = a * 1.5 + 0.1;
  50.         alpha = a * 0.5 + Math.random() * 0.4 + 0.1;
  51.         x = x0 + Math.random() * movieWidth;
  52.         y = y0 + Math.random() * movieHeight;
  53.         addEventListener(Event.ENTER_FRAME, onFrame);
  54.     }
  55.     private function onFrame(e:Event):void
  56.     {
  57.         theta += k;
  58.         x -= Math.cos(theta);
  59.         y += i;
  60.         if (y >= y1)
  61.             y -= movieHeight;
  62.                 if (x < x0) {
  63.                     x += movieWidth;
  64.                 } else if (x >= movieWidth) {
  65.                     x -= movieWidth;
  66.                 }
  67.     }
  68. }
noswf
  1. // forked from sake's 雪が降る
  2. /*
  3.     雪を降らせる。
  4.     必要になったので調べて作った。
  5. */
  6. package
  7. {
  8.     import flash.display.Sprite;
  9.     [SWF(width="465", height="465", backgroundColor="0x0x0000", frameRate="40")]
  10.     public class snows extends Sprite
  11.     {
  12.         public function snows()
  13.         {
  14.             for(var k:int=0; k < 100; k++) addChild(new snow(stage.stageWidth, stage.stageHeight));
  15.         }
  16.     }
  17. }
  18. import flash.display.Graphics;
  19. import flash.display.Sprite;
  20. import flash.events.Event;
  21. import flash.filters.BlurFilter;
  22. class snow extends Sprite
  23. {
  24.     private var i:Number;
  25.     private var k:Number;
  26.     private var theta:Number;
  27.     private var movieHeight:Number;
  28.     private var movieWidth:Number;
  29.     public function snow(w:Number, h:Number)
  30.     {
  31.         movieHeight=h;
  32.         movieWidth=w;
  33.         i=Math.random() * 1 + 0.5;
  34.         k=-Math.PI + Math.random() * Math.PI;
  35.         theta=0;
  36.         graphics.beginFill(0xffffff, 1);
  37.         graphics.drawCircle(003);
  38.         graphics.endFill();
  39.         filters=[new BlurFilter()];
  40.         scaleX=scaleY=Math.random() + 0.1;
  41.         alpha=Math.random() + 0.1;
  42.         x = -10 + Math.random() * movieWidth;
  43.         y = -10 + Math.random() * movieHeight;
  44.         addEventListener(Event.ENTER_FRAME, onFrame);
  45.     }
  46.     private function onFrame(e:Event):void
  47.     {
  48.         theta+=(k / 180) * Math.PI;
  49.         x-=Math.cos(theta);
  50.         y+=i;
  51.         if (y >= movieHeight)
  52.             y=-5;
  53.         if ((x >= movieWidth) || (x <= 0))
  54.         {
  55.             x = -10 + Math.random() * movieWidth;
  56.             y = -5;
  57.         }
  58.     }
  59. }
noswf
  1. // forked from sake's 雪が降る
  2. /*
  3.     雪を降らせる。
  4.     必要になったので調べて作った。
  5. */
  6. package
  7. {
  8.     import flash.display.Sprite;
  9.     [SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="40")]
  10.     public class snows extends Sprite
  11.     {
  12.         public function snows()
  13.         {
  14.             for(var k:int=0; k < 100; k++) addChild(new snow(stage.stageWidth, stage.stageHeight));
  15.         }
  16.     }
  17. }
  18. import flash.display.Graphics;
  19. import flash.display.Sprite;
  20. import flash.events.Event;
  21. import flash.filters.BlurFilter;
  22. class snow extends Sprite
  23. {
  24.     private var i:Number;
  25.     private var k:Number;
  26.     private var theta:Number;
  27.     private var movieHeight:Number;
  28.     private var movieWidth:Number;
  29.     public function snow(w:Number, h:Number)
  30.     {
  31.         movieHeight=h;
  32.         movieWidth=w;
  33.         i=Math.random() * 1 + 0.5;
  34.         k=-Math.PI + Math.random() * Math.PI;
  35.         theta=0;
  36.         graphics.beginFill(Math.random()*0x333333, 1);
  37.         graphics.drawCircle(00, Math.random()*45+10);
  38.         graphics.endFill();
  39.         scaleX=scaleY=Math.random() + 0.1;
  40.         alpha=Math.random() + 0.1;
  41.         x = -10 + Math.random() * movieWidth;
  42.         y = -10 + Math.random() * movieHeight;
  43.         addEventListener(Event.ENTER_FRAME, onFrame);
  44.     }
  45.     private function onFrame(e:Event):void
  46.     {
  47.         theta+=(k / 180) * Math.PI;
  48.         x-=Math.cos(theta);
  49.         y+=i;
  50.         if (y >= movieHeight)
  51.             y=-5;
  52.         if ((x >= movieWidth) || (x <= 0))
  53.         {
  54.             x = -10 + Math.random() * movieWidth;
  55.             y = -5;
  56.         }
  57.     }
  58. }
noswf
  1. // forked from sake's 雪が降る
  2. /*
  3.     雪を降らせる。
  4.     必要になったので調べて作った。
  5. */
  6. package
  7. {
  8.     import flash.display.Bitmap;
  9.     import flash.display.BitmapData;
  10.     import flash.display.Shape;
  11.     import flash.display.Sprite;
  12.     import flash.events.Event;
  13.     import flash.filters.BitmapFilter;
  14.     import flash.filters.BitmapFilterQuality;
  15.     import flash.filters.BlurFilter;
  16.     import flash.geom.ColorTransform;
  17.     import flash.geom.Matrix;
  18.     import flash.geom.Point;
  19.     import net.hires.debug.Stats;
  20.     [SWF(width="465", height="465", backgroundColor="0x000000", frameRate="40")]
  21.     public class Main extends Sprite
  22.     {
  23.         public static const BUGS_LENGTH:uint = 200;
  24.         private var _object:Shape;
  25.         private var _canvas:BitmapData;
  26.         private var _particles:Array;
  27.         private var _zero:Point;
  28.         private var _filter:BitmapFilter;
  29.         public function Main()
  30.         {
  31.             addEventListener(Event.ADDED_TO_STAGE, initialize);
  32.         }
  33.         private function initialize(evt:Event):void
  34.         {
  35.             removeEventListener(evt.type, arguments.callee);
  36.             var i:int,
  37.                 p:Particle;
  38.             _particles = [];
  39.             _zero = new Point();
  40.             _filter = new BlurFilter();
  41.             _object = new Shape();
  42.             with (_object.graphics)
  43.             {
  44.                 beginFill(0xFFFFFF);
  45.                 drawCircle(003);
  46.                 endFill();
  47.             }
  48.             _canvas = new BitmapData(stage.stageWidth, stage.stageHeight, true0);
  49.             addChild(new Bitmap(_canvas));
  50.             for(i=0; i<BUGS_LENGTH; i++)
  51.             {
  52.                 _particles.push(new Particle(stage.stageWidth, stage.stageHeight));
  53.             }
  54.             addChild(new Stats());
  55.             addEventListener(Event.ENTER_FRAME, step);
  56.         }
  57.         private function step(evt:Event):void
  58.         {
  59.             var p:Particle,
  60.                 mtx:Matrix,
  61.                 ctf:ColorTransform;
  62.             _canvas.lock();
  63.             _canvas.fillRect(_canvas.rect, 0);
  64.             for each (p in _particles)
  65.             {
  66.                 p.update();
  67.                 //  fix matrix settings.
  68.                 mtx = new Matrix();
  69.                 mtx.translate(p.x, p.y);
  70.                 mtx.scale(p.scaleX, p.scaleY);
  71.                 //  fix color transform settings.
  72.                 ctf = new ColorTransform();
  73.                 ctf.alphaMultiplier = p.alpha;
  74.                 _canvas.draw(_object, mtx, ctf);
  75.             }
  76.             _canvas.applyFilter(_canvas, _canvas.rect, _zero, _filter);
  77.             _canvas.unlock();
  78.         }
  79.     }
  80. }
  81. class Particle
  82. {
  83.     private var _x:Number;
  84.     private var _y:Number;
  85.     private var _scaleX:Number;
  86.     private var _scaleY:Number;
  87.     private var _alpha:Number;
  88.     private var _tick:int;
  89.     private var _stageWidth:Number;
  90.     private var _stageHeight:Number;
  91.     public function get x():Number
  92.     {
  93.         return _x;
  94.     }
  95.     public function get y():Number
  96.     {
  97.         return _y;
  98.     }
  99.     public function get scaleX():Number
  100.     {
  101.         return _scaleX;
  102.     }
  103.     public function get scaleY():Number
  104.     {
  105.         return _scaleY;
  106.     }
  107.     public function get alpha():Number
  108.     {
  109.         return _alpha;
  110.     }
  111.     public function Particle(stageWidth:Number, stageHeight:Number)
  112.     {
  113.         _stageWidth = stageWidth;
  114.         _stageHeight = stageHeight;
  115.         _x = Math.random() * _stageWidth;
  116.         _y = Math.random() * _stageHeight;
  117.         _tick = Math.floor(Math.random() * 360);
  118.         var z:Number = Math.random() + .2;
  119.         _alpha = z;
  120.         _scaleX = z;
  121.         _scaleY = z;
  122.     }
  123.     public function update():void
  124.     {
  125.         var angle:Number = (_tick / 180) * Math.PI;
  126.         _x += Math.cos(angle);
  127.         _y += 1;
  128.         if (_y > _stageHeight)
  129.         {
  130.             _y = -5;
  131.         }
  132.         _tick = ++_tick % 360;
  133.     }
  134. }
noswf
Get Adobe Flash Player