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


forked from : Saqoosha's Snow [diff(131)]

embed

FORKED
  1. // forked from nondelion's forked from: Snow
  2. // forked from Saqoosha's Snow
  3. package {
  4.     
  5.         /*
  6.          * 少し変えてみた
  7.          */
  8.     
  9.     import flash.display.Bitmap;
  10.     import flash.display.BitmapData;
  11.     import flash.display.Sprite;
  12.     import flash.geom.Point;
  13.     import flash.events.Event;
  14.     import flash.events.MouseEvent;
  15.     import flash.text.TextField;
  16.     import flash.text.TextFormat;
  17.     import flash.text.TextFieldAutoSize;
  18.     import flash.utils.Dictionary;
  19.     import net.hires.debug.Stats;
  20.     [SWF(width=465, height=465, backgroundColor=0x0, frameRate=90)]
  21.     public class TextTransition extends Sprite
  22.     {
  23.         private var bd:BitmapData;
  24.         private var canvas:BitmapData;
  25.         private var particles:Dictionary;
  26.         private var bdp:Point;
  27.                 protected const RANGE:Number = 10000;
  28.         protected const APPEAR_RAPGE:Number = 50;
  29.         
  30.         public function TextTransition()
  31.         {
  32.             canvas = new BitmapData(465465true, 0xff000000);
  33.             addChild( new Bitmap( canvas ) );
  34.             
  35.             var tf:TextField = new TextField();
  36.             tf.defaultTextFormat = new TextFormat('Helvetica'48, 0xffd400, true);
  37.             tf.autoSize = TextFieldAutoSize.LEFT;
  38.             tf.text = 'Wonderfl!!';
  39.             
  40.             bd = new BitmapData(tf.width, tf.height, false, 0x0);
  41.             bd.draw(tf);
  42.             bdp = new Point( Math.floor( (465 - tf.width) / 2 ), Math.floor( (465 - tf.height) / 2 ) );
  43.             
  44.             particles = new Dictionary();
  45.             
  46.             for (var i:int=0; i < tf.width; i++) {
  47.                 for (var j:int=0; j < tf.height; j++) {
  48.                     var color:uint = bd.getPixel(i, j);
  49.                     if ( color != 0x0 ) {
  50.                         var p:Particle = new Particle();
  51.                         p.x = i + bdp.x;
  52.                         p.y = j + bdp.y;
  53.                         p.cx = Math.random() * RANGE - RANGE/2;
  54.                         p.cy = Math.random() * RANGE - RANGE/2;
  55.                         p.vx = 6;
  56.                         p.vy = 6;
  57.                         p.color = color;
  58.                         particles[p] = true;
  59.                     }
  60.                 }
  61.             }
  62.             //this.addChild(new Stats());
  63.             
  64.             addEventListener( Event.ENTER_FRAME, update );
  65.             stage.addEventListener( MouseEvent.CLICK, clickHandler );
  66.         }
  67.         
  68.         private function clickHandler(e:MouseEvent):void
  69.         {
  70.             canvas.lock();
  71.             canvas.fillRect(canvas.rect, 0x0);
  72.             for (var key:* in particles) {
  73.                 var p:Particle = Particle(key);
  74.                 p.cx = Math.random() * RANGE - RANGE/2;
  75.                 p.cy = Math.random() * RANGE - RANGE/2;
  76.                 canvas.setPixel(p.cx, p.cy, p.color);
  77.             }
  78.             canvas.unlock();
  79.         }
  80.         
  81.         private function update(e:Event):void
  82.         {
  83.             canvas.lock();
  84.             canvas.fillRect(canvas.rect, 0x0);
  85.             
  86.             for (var key:* in particles) {
  87.                 var p:Particle = Particle(key);
  88.                                 var r = Math.sqrt((p.x-p.cx)*(p.x-p.cx) + (p.y-p.cy)*(p.y-p.cy));
  89.                 p.cx += (p.x - p.cx )/p.vx;
  90.                 p.cy += (p.y - p.cy )/p.vy;
  91.                 if ( Math.abs( p.cx - p.x ) <= 1 && Math.abs( p.cy - p.y) <= 1) {
  92.                     p.cx = p.x;
  93.                     p.cy = p.y;
  94.                 }
  95.                                 var a:uint = r < APPEAR_RAPGE ? (1-r/APPEAR_RAPGE)*255 : 0;
  96.                 var c:uint = p.color + (a << 24);
  97.                 canvas.setPixel32(p.cx, p.cy, c);
  98.             }
  99.             canvas.unlock();
  100.         }    
  101.     }
  102. }
  103.         class Particle
  104.     {
  105.         public var color:int;
  106.         public var x:Number;
  107.         public var y:Number;
  108.         public var cx:Number;
  109.         public var cy:Number;
  110.         public var vx:Number;
  111.         public var vy:Number;
  112.         
  113.         public function Particle()
  114.         {
  115.             color = 0xffffff;
  116.             x = 0;
  117.             y = 0;
  118.             cx = 0;
  119.             cy = 0;
  120.             vx = 0;
  121.             vy = 0;
  122.         }
  123.     }
noswf
  1. // forked from nondelion's forked from: Snow
  2. // forked from Saqoosha's Snow
  3. package {
  4.     
  5.         /*
  6.          * 練習
  7.          */
  8.     
  9.     import flash.display.Bitmap;
  10.     import flash.display.BitmapData;
  11.     import flash.display.Sprite;
  12.     import flash.geom.Point;
  13.     import flash.events.Event;
  14.     import flash.events.MouseEvent;
  15.     import flash.text.TextField;
  16.     import flash.text.TextFormat;
  17.     import flash.text.TextFieldAutoSize;
  18.     import flash.utils.Dictionary;
  19.     [SWF(width=465, height=465, backgroundColor=0x0, frameRate=120)]
  20.     public class TextTransition extends Sprite
  21.     {
  22.         private var bd:BitmapData;
  23.         private var canvas:BitmapData;
  24.         private var particles:Dictionary;
  25.         private var bdp:Point;
  26.         
  27.         public function TextTransition()
  28.         {
  29.             canvas = new BitmapData(465465false, 0x0);
  30.             addChild( new Bitmap( canvas ) );
  31.             
  32.             var tf:TextField = new TextField();
  33.             tf.defaultTextFormat = new TextFormat('Helvetica'48, 0xffffff, true);
  34.             tf.autoSize = TextFieldAutoSize.LEFT;
  35.             tf.text = 'Wonderfl!!';
  36.             
  37.             bd = new BitmapData(tf.width, tf.height, false, 0x0);
  38.             bd.draw(tf);
  39.             bdp = new Point( Math.floor( (465 - tf.width) / 2 ), Math.floor( (465 - tf.height) / 2 ) );
  40.             
  41.             particles = new Dictionary();
  42.             
  43.             for (var i:int=0; i < tf.width; i++) {
  44.                 for (var j:int=0; j < tf.height; j++) {
  45.                     var color:uint = bd.getPixel(i, j);
  46.                     if ( color != 0x0 ) {
  47.                         var p:Particle = new Particle();
  48.                         p.x = i + bdp.x;
  49.                         p.y = j + bdp.y;
  50.                         p.cx = Math.random() * 465;
  51.                         p.cy = Math.random() * 465;
  52.                         p.vx = 16;
  53.                         p.vy = 20;
  54.                         p.color = color;
  55.                         particles[p] = true;
  56.                     }
  57.                 }
  58.             }
  59.             
  60.             addEventListener( Event.ENTER_FRAME, update );
  61.             stage.addEventListener( MouseEvent.CLICK, clickHandler );
  62.         }
  63.         
  64.         private function clickHandler(e:MouseEvent):void
  65.         {
  66.             canvas.lock();
  67.             canvas.fillRect(canvas.rect, 0x0);
  68.             for (var key:* in particles) {
  69.                 var p:Particle = Particle(key);
  70.                 p.cx = Math.random() * 465;
  71.                 p.cy = Math.random() * 465;
  72.                 canvas.setPixel(p.cx, p.cy, p.color);
  73.             }
  74.             canvas.unlock();
  75.         }
  76.         
  77.         private function update(e:Event):void
  78.         {
  79.             canvas.lock();
  80.             canvas.fillRect(canvas.rect, 0x0);
  81.             
  82.             for (var key:* in particles) {
  83.                 var p:Particle = Particle(key);
  84.                 p.cx += (p.x - p.cx )/p.vx;
  85.                 p.cy += (p.y - p.cy )/p.vy;
  86.                 if ( Math.abs( p.cx - p.x ) <= 1 && Math.abs( p.cy - p.y) <= 1) {
  87.                     p.cx = p.x;
  88.                     p.cy = p.y;
  89.                     //delete particles[p];
  90.                 }
  91.                 canvas.setPixel(p.cx, p.cy, p.color);
  92.             }
  93.             canvas.unlock();
  94.         }    
  95.     }
  96. }
  97.         class Particle
  98.     {
  99.         public var color:int;
  100.         public var x:Number;
  101.         public var y:Number;
  102.         public var cx:Number;
  103.         public var cy:Number;
  104.         public var vx:Number;
  105.         public var vy:Number;
  106.         
  107.         public function Particle()
  108.         {
  109.             color = 0xffffff;
  110.             x = 0;
  111.             y = 0;
  112.             cx = 0;
  113.             cy = 0;
  114.             vx = 0;
  115.             vy = 0;
  116.         }
  117.     }
noswf
Get Adobe Flash Player