forked from: 複数のカメラ
forked from 複数のカメラ (diff: 61)
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;
}
}
}
