forked from: 複数のカメラ

by otoyasumi forked from 複数のカメラ (diff: 61)
♥0 | Line 59 | Modified 2009-11-30 11:22:35 | MIT License
play

ActionScript3 source code

/**
 * Copyright otoyasumi ( http://wonderfl.net/user/otoyasumi )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/794p
 */

// forked from tmdf's 複数のカメラ
package {
	import flash.display.*;
	import flash.media.Camera;
	import flash.media.Video;
	import flash.geom.*;
	import flash.filters.ColorMatrixFilter;
	
	public class Main extends MovieClip {
	    
	    private var videos:Array;
	    private var mono_mc:MovieClip;
	    private var red_mc:MovieClip;
	    private var blue_mc:MovieClip;
	    
		public function Main():void {
			
			//初期化
			var camera:Array = new Array();
			var video:Array = new Array();
			red_mc = new MovieClip();
			blue_mc = new MovieClip();
			videos = [ red_mc, blue_mc ];			
			
			//接続されているカメラの数を取得
			var l:int = Camera.names.length - 1;
			
			//カメラが1台以上接続されている場合
			while (l >= 0) {
				
				//カメラを取得
				camera[l] = Camera.getCamera(String(l));
				
				//CameraとVideoを連携
				video[l] = new Video();
				video[l].attachCamera(camera[l]);
				
				videos[l].addChild(video[l]);				
				this.addChild(videos[l]);
				
				l --;

			}
			setColor();
			adjustPosition();
		}
		
		private function setColor():void{
            var matrix1:Array = [
		        2, 0, 0, 0, 0,
		        0, 1/3, 1/3, 0, 0,
		        0, 1/3, 1/3, 0, 0,
		        2, 0, 0, 1, 0
		    ];
		    var clr1:ColorMatrixFilter = new ColorMatrixFilter(matrix1);
            red_mc.filters = [clr1];

            var matrix2:Array = [
		        1/3, 1/3, 0, 0, 0,
		        1/3, 1/3, 0, 0, 0,
		        0, 0, 2, 0, 0,
		        0, 0, 2, 1, 0
		    ];
		    var clr2:ColorMatrixFilter = new ColorMatrixFilter(matrix2);
            blue_mc.filters = [clr2];            
		}
		
		private function adjustPosition():void{
            blue_mc.alpha = 0.7;
            red_mc.alpha = 0.3;
                        
            red_mc.x = -40;
            red_mc.y = 15;
		    
		    red_mc.scaleX = 
		    red_mc.scaleY =
		    blue_mc.scaleX = 
		    blue_mc.scaleY = 1.5;
		    
		    
		    
		}
		
		
	}
}