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


forked from : ll_koba_ll's 動体検知4 [diff(1)]

embed

FORKED
  1. // forked from ll_koba_ll's 動体検知5
  2. // forked from ll_koba_ll's 動体検知4
  3. // forked from ll_koba_ll's 動体検知3
  4. // forked from ll_koba_ll's forked from: 動体検知
  5. // forked from ll_koba_ll's 動体検知
  6. // write as3 code here..
  7. package {
  8.     import flash.display.*;
  9.     import flash.events.*;
  10.     import flash.geom.*;
  11.     import flash.filters.*;
  12.     import flash.media.Camera;
  13.     import flash.media.Video;
  14.     [SWF(frameRate="10", backgroundColor="#000000")]
  15.     public class MotionCamera extends Sprite
  16.     {
  17.         
  18.         private var camera:Camera;
  19.         private var video:Video;
  20.         private var button:Sprite;
  21.         private var bmd:BitmapData;
  22.         private var now:BitmapData;
  23.         private var before:BitmapData;
  24.         private var rect:Rectangle;
  25.         private var pt:Point;
  26.         private var blur:BlurFilter
  27.         
  28.         public function MotionCamera()
  29.         {
  30.             addEventListener(Event.ADDED_TO_STAGE, init);
  31.         }
  32.         private function init(e:Event = null):void
  33.         {
  34.             
  35.             stage.scaleMode = StageScaleMode.NO_SCALE;
  36.             stage.align = StageAlign.TOP_LEFT;
  37.             blur = new BlurFilter(3,3); 
  38.             camera = Camera.getCamera();
  39.             if (camera != null)
  40.             {
  41.                 setupCamera();
  42.             }
  43.                    
  44.             bmd = new BitmapData(camera.width*2, camera.height*2 ,false,0xffffff);
  45.             var bmp:DisplayObject =  addChild(new Bitmap(bmd));
  46.             bmp.scaleX = 1.5;
  47.             bmp.scaleY = 1.5;
  48.             addEventListener(Event.ENTER_FRAME, loop);
  49.             now = new BitmapData(camera.width*2, camera.height*2);
  50.             before = new BitmapData(camera.width*2, camera.height*2);
  51.             rect = new Rectangle(00, camera.width*2, camera.height*2);
  52.             pt = new Point(00);
  53.             
  54.         }
  55.         private function setupCamera():void
  56.         {
  57.             video = new Video(camera.width*2, camera.height*2);
  58.             video.attachCamera(camera);
  59.             addChild(video);
  60.         }
  61.         private function loop(e:Event):void
  62.         {
  63.             now.draw(video);
  64.             now.draw(before, new Matrix(), new ColorTransform(), BlendMode.DIFFERENCE);
  65.             var ret:uint = now.threshold(now, rect, pt, ">", 0xff111111, 0xffffffff);
  66.             before.draw(video);
  67.             bmd.draw(now, nullnull, BlendMode.DIFFERENCE);
  68.             bmd.draw(video, nullnull, BlendMode.ADD);
  69.             bmd.applyFilter(bmd, bmd.rect, new Point(), blur);              
  70.         }
  71.     }
  72. }
noswf
  1. // forked from ll_koba_ll's 動体検知5
  2. // forked from ll_koba_ll's 動体検知4
  3. // forked from ll_koba_ll's 動体検知3
  4. // forked from ll_koba_ll's forked from: 動体検知
  5. // forked from ll_koba_ll's 動体検知
  6. // write as3 code here..
  7. package {
  8.     import flash.display.*;
  9.     import flash.events.*;
  10.     import flash.geom.*;
  11.     import flash.filters.*;
  12.     import flash.media.Camera;
  13.     import flash.media.Video;
  14.     [SWF(frameRate="10", backgroundColor="#000000")]
  15.     public class MotionCamera extends Sprite
  16.     {
  17.         
  18.         private var camera:Camera;
  19.         private var video:Video;
  20.         private var button:Sprite;
  21.         private var bmd:BitmapData;
  22.         private var now:BitmapData;
  23.         private var before:BitmapData;
  24.         private var rect:Rectangle;
  25.         private var pt:Point;
  26.         private var blur:BlurFilter
  27.         
  28.         public function MotionCamera()
  29.         {
  30.             addEventListener(Event.ADDED_TO_STAGE, init);
  31.         }
  32.         private function init(e:Event = null):void
  33.         {
  34.             
  35.             stage.scaleMode = StageScaleMode.NO_SCALE;
  36.             stage.align = StageAlign.TOP_LEFT;
  37.             blur = new BlurFilter(3,3); 
  38.             camera = Camera.getCamera();
  39.             if (camera != null)
  40.             {
  41.                 setupCamera();
  42.             }
  43.                    
  44.             bmd = new BitmapData(camera.width*2, camera.height*2 ,false,0xffffff);
  45.             var bmp:DisplayObject =  addChild(new Bitmap(bmd));
  46.             bmp.scaleX = 1.5;
  47.             bmp.scaleY = 1.5;
  48.             addEventListener(Event.ENTER_FRAME, loop);
  49.             now = new BitmapData(camera.width*2, camera.height*2);
  50.             before = new BitmapData(camera.width*2, camera.height*2);
  51.             rect = new Rectangle(00, camera.width*2, camera.height*2);
  52.             pt = new Point(00);
  53.             
  54.         }
  55.         private function setupCamera():void
  56.         {
  57.             video = new Video(camera.width*2, camera.height*2);
  58.             video.attachCamera(camera);
  59.             //addChild(video);
  60.         }
  61.         private function loop(e:Event):void
  62.         {
  63.             now.draw(video);
  64.             now.draw(before, new Matrix(), new ColorTransform(), BlendMode.DIFFERENCE);
  65.             var ret:uint = now.threshold(now, rect, pt, ">", 0xff111111, 0xffffffff);
  66.             before.draw(video);
  67.             bmd.draw(now, nullnull, BlendMode.DIFFERENCE);
  68.             bmd.draw(video, nullnull, BlendMode.ADD);
  69.             bmd.applyFilter(bmd, bmd.rect, new Point(), blur);              
  70.         }
  71.     }
  72. }
noswf
Get Adobe Flash Player