- // forked from sake's 雪が降る
- /*
- 雪を降らせる。
- 必要になったので調べて作った。
- */
- package
- {
- import flash.display.Sprite;
- [SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="60")]
- public class snows extends Sprite
- {
- public function snows()
- {
- for(var k:int=0; k <250 ; k++) addChild(new snow(stage.stageWidth, stage.stageHeight));
- }
- }
- }
- import flash.display.Graphics;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.filters.BlurFilter;
- class snow extends Sprite
- {
- private var i:Number;
- private var k:Number;
- private var theta:Number;
- private var movieHeight:Number;
- private var movieWidth:Number;
- public function snow(w:Number, h:Number)
- {
- movieHeight=h;
- movieWidth=w;
- i=Math.random() * 1 + 0.5;
- k=-Math.PI + Math.random() * Math.PI;
- theta=0;
- graphics.beginFill(Math.random() * 0xfffff0);
- graphics.drawCircle(0, 0, 3);
- graphics.endFill();
- filters=[new BlurFilter()];
- scaleX=scaleY=Math.random() + 1;
- alpha=Math.random() + 0,8;
- x = -10 + Math.random() * movieWidth;
- y = -10 + Math.random() * movieHeight;
- addEventListener(Event.ENTER_FRAME, onFrame);
- }
- private function onFrame(e:Event):void
- {
- theta+=(k / 180) * Math.PI;
- x-=Math.cos(theta);
- y+=i;
- if (y >= movieHeight)
- y=-5;
- if ((x >= movieWidth) || (x <= 0))
- {
- x = -10 + Math.random() * movieWidth;
- y = -5;
- }
- }
- }
雪が降る forked from: 雪が降る
- // forked from sake's 雪が降る
- /*
- 雪を降らせる。
- 必要になったので調べて作った。
- */
- package
- {
- import flash.display.Sprite;
- [SWF(width="465", height="465", backgroundColor="0x405060", frameRate="60")]
- public class snows extends Sprite
- {
- public function snows()
- {
- for (var k:int = 0; k < 1000; k++)
- addChild(new snow(stage.stageWidth, stage.stageHeight));
- }
- }
- }
- import flash.display.Graphics;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.filters.BlurFilter;
- class snow extends Sprite
- {
- private var i:Number;
- private var k:Number;
- private var theta:Number;
- private var movieHeight:Number;
- private var movieWidth:Number;
- private var x0:Number;
- private var y0:Number;
- private var y1:Number;
- private static const margin:Number = 5;
- public function snow(w:Number, h:Number)
- {
- movieHeight = h + margin * 2;
- movieWidth = w + margin * 2;
- x0 = -margin;
- y0 = -margin;
- y1 = h + margin;
- i = Math.random() * 1 + 0.5;
- k = 0.02;
- theta = Math.random() * Math.PI - Math.PI;
- graphics.beginFill(0xffffff, 1);
- graphics.drawCircle(0, 0, 3);
- graphics.endFill();
- filters=[new BlurFilter()];
- var a:Number = Math.random();
- scaleX = scaleY = a * 1.5 + 0.1;
- alpha = a * 0.5 + Math.random() * 0.4 + 0.1;
- x = x0 + Math.random() * movieWidth;
- y = y0 + Math.random() * movieHeight;
- addEventListener(Event.ENTER_FRAME, onFrame);
- }
- private function onFrame(e:Event):void
- {
- theta += k;
- x -= Math.cos(theta);
- y += i;
- if (y >= y1)
- y -= movieHeight;
- if (x < x0) {
- x += movieWidth;
- } else if (x >= movieWidth) {
- x -= movieWidth;
- }
- }
- }
雪が降る forked from: 雪が降る
- // forked from sake's 雪が降る
- /*
- 雪を降らせる。
- 必要になったので調べて作った。
- */
- package
- {
- import flash.display.Sprite;
- [SWF(width="465", height="465", backgroundColor="0x0x0000", frameRate="40")]
- public class snows extends Sprite
- {
- public function snows()
- {
- for(var k:int=0; k < 100; k++) addChild(new snow(stage.stageWidth, stage.stageHeight));
- }
- }
- }
- import flash.display.Graphics;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.filters.BlurFilter;
- class snow extends Sprite
- {
- private var i:Number;
- private var k:Number;
- private var theta:Number;
- private var movieHeight:Number;
- private var movieWidth:Number;
- public function snow(w:Number, h:Number)
- {
- movieHeight=h;
- movieWidth=w;
- i=Math.random() * 1 + 0.5;
- k=-Math.PI + Math.random() * Math.PI;
- theta=0;
- graphics.beginFill(0xffffff, 1);
- graphics.drawCircle(0, 0, 3);
- graphics.endFill();
- filters=[new BlurFilter()];
- scaleX=scaleY=Math.random() + 0.1;
- alpha=Math.random() + 0.1;
- x = -10 + Math.random() * movieWidth;
- y = -10 + Math.random() * movieHeight;
- addEventListener(Event.ENTER_FRAME, onFrame);
- }
- private function onFrame(e:Event):void
- {
- theta+=(k / 180) * Math.PI;
- x-=Math.cos(theta);
- y+=i;
- if (y >= movieHeight)
- y=-5;
- if ((x >= movieWidth) || (x <= 0))
- {
- x = -10 + Math.random() * movieWidth;
- y = -5;
- }
- }
- }
- // forked from sake's 雪が降る
- /*
- 雪を降らせる。
- 必要になったので調べて作った。
- */
- package
- {
- import flash.display.Sprite;
- [SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="40")]
- public class snows extends Sprite
- {
- public function snows()
- {
- for(var k:int=0; k < 100; k++) addChild(new snow(stage.stageWidth, stage.stageHeight));
- }
- }
- }
- import flash.display.Graphics;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.filters.BlurFilter;
- class snow extends Sprite
- {
- private var i:Number;
- private var k:Number;
- private var theta:Number;
- private var movieHeight:Number;
- private var movieWidth:Number;
- public function snow(w:Number, h:Number)
- {
- movieHeight=h;
- movieWidth=w;
- i=Math.random() * 1 + 0.5;
- k=-Math.PI + Math.random() * Math.PI;
- theta=0;
- graphics.beginFill(Math.random()*0x333333, 1);
- graphics.drawCircle(0, 0, Math.random()*45+10);
- graphics.endFill();
- scaleX=scaleY=Math.random() + 0.1;
- alpha=Math.random() + 0.1;
- x = -10 + Math.random() * movieWidth;
- y = -10 + Math.random() * movieHeight;
- addEventListener(Event.ENTER_FRAME, onFrame);
- }
- private function onFrame(e:Event):void
- {
- theta+=(k / 180) * Math.PI;
- x-=Math.cos(theta);
- y+=i;
- if (y >= movieHeight)
- y=-5;
- if ((x >= movieWidth) || (x <= 0))
- {
- x = -10 + Math.random() * movieWidth;
- y = -5;
- }
- }
- }
- // forked from sake's 雪が降る
- /*
- 雪を降らせる。
- 必要になったので調べて作った。
- */
- package
- {
- import flash.display.Bitmap;
- import flash.display.BitmapData;
- import flash.display.Shape;
- import flash.display.Sprite;
- import flash.events.Event;
- import flash.filters.BitmapFilter;
- import flash.filters.BitmapFilterQuality;
- import flash.filters.BlurFilter;
- import flash.geom.ColorTransform;
- import flash.geom.Matrix;
- import flash.geom.Point;
- import net.hires.debug.Stats;
- [SWF(width="465", height="465", backgroundColor="0x000000", frameRate="40")]
- public class Main extends Sprite
- {
- public static const BUGS_LENGTH:uint = 200;
- private var _object:Shape;
- private var _canvas:BitmapData;
- private var _particles:Array;
- private var _zero:Point;
- private var _filter:BitmapFilter;
- public function Main()
- {
- addEventListener(Event.ADDED_TO_STAGE, initialize);
- }
- private function initialize(evt:Event):void
- {
- removeEventListener(evt.type, arguments.callee);
- var i:int,
- p:Particle;
- _particles = [];
- _zero = new Point();
- _filter = new BlurFilter();
- _object = new Shape();
- with (_object.graphics)
- {
- beginFill(0xFFFFFF);
- drawCircle(0, 0, 3);
- endFill();
- }
- _canvas = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0);
- addChild(new Bitmap(_canvas));
- for(i=0; i<BUGS_LENGTH; i++)
- {
- _particles.push(new Particle(stage.stageWidth, stage.stageHeight));
- }
- addChild(new Stats());
- addEventListener(Event.ENTER_FRAME, step);
- }
- private function step(evt:Event):void
- {
- var p:Particle,
- mtx:Matrix,
- ctf:ColorTransform;
- _canvas.lock();
- _canvas.fillRect(_canvas.rect, 0);
- for each (p in _particles)
- {
- p.update();
- // fix matrix settings.
- mtx = new Matrix();
- mtx.translate(p.x, p.y);
- mtx.scale(p.scaleX, p.scaleY);
- // fix color transform settings.
- ctf = new ColorTransform();
- ctf.alphaMultiplier = p.alpha;
- _canvas.draw(_object, mtx, ctf);
- }
- _canvas.applyFilter(_canvas, _canvas.rect, _zero, _filter);
- _canvas.unlock();
- }
- }
- }
- class Particle
- {
- private var _x:Number;
- private var _y:Number;
- private var _scaleX:Number;
- private var _scaleY:Number;
- private var _alpha:Number;
- private var _tick:int;
- private var _stageWidth:Number;
- private var _stageHeight:Number;
- public function get x():Number
- {
- return _x;
- }
- public function get y():Number
- {
- return _y;
- }
- public function get scaleX():Number
- {
- return _scaleX;
- }
- public function get scaleY():Number
- {
- return _scaleY;
- }
- public function get alpha():Number
- {
- return _alpha;
- }
- public function Particle(stageWidth:Number, stageHeight:Number)
- {
- _stageWidth = stageWidth;
- _stageHeight = stageHeight;
- _x = Math.random() * _stageWidth;
- _y = Math.random() * _stageHeight;
- _tick = Math.floor(Math.random() * 360);
- var z:Number = Math.random() + .2;
- _alpha = z;
- _scaleX = z;
- _scaleY = z;
- }
- public function update():void
- {
- var angle:Number = (_tick / 180) * Math.PI;
- _x += Math.cos(angle);
- _y += 1;
- if (_y > _stageHeight)
- {
- _y = -5;
- }
- _tick = ++_tick % 360;
- }
- }
notice:



