Flash 3D y webcam.

 Archivado en: Tutoriales, Flash 3D — info @ Nov 21st, 2008

En el siguiente tutorial, conseguiremos que Flash acceda a nuestra webcam y capture la imagen que recoja ésta en tiempo real.

Posteriormente jugaremos con la captura de vídeo y para visualizarlo en 3D. Analizamos el código…

Creamos las variables que vamos a necesitar.

Con la variable “camara” creamos un objeto Camera, y con las variables “video1, video2…” cargamos los archivos de vídeo. Finalmente creamos un MovieClip.

var camara:Camera = new Camera();
var video1:Video = new Video();
var video2:Video = new Video();
var video3:Video = new Video();
var video4:Video = new Video();
var contenedor:MovieClip=new MovieClip();

Estas clases anteriores (Video, Camera y MovieClip) se encuentran en los paquetes flash.display y flash.media, que deberíamos importarlo si esta programación estubiese en una clase externa a Flash. Dichos paquetes, vienen ya importados al trabajar en el entorno de la aplicación (en la línea de tiempo).
Colocamos en “camara” a una referencia al objeto Camera para poder capturar el vídeo.

camara=Camera.getCamera();

Indicamos la fuente de cada vídeo, que sería la camara.

video1.attachCamera(camara);
video2.attachCamera(camara);
video3.attachCamera(camara);
video4.attachCamera(camara);

Cada video lo anidamos en contendor, que recordemos es un MovieClip.

contenedor.addChild(video1);
contenedor.addChild(video2);
contenedor.addChild(video3);
contenedor.addChild(video4);

Para hecer visible el MovieClip contenedor, tenemos que añadirlo a la escena.

addChild(contenedor);

Posicionamos contenedor en el escenario, y cada video en contenedor.

contenedor.x=275;
video1.width=275;
video1.height=200;
video1.y=200;
video1.rotation=180;
video2.width=275;
video2.height=200;
video2.y=200;
video2.scaleX=- video1.scaleX;
video3.width=275;
video3.height=200;
video3.y=200;
video4.width=275;
video4.height=200;
video4.y=200;
video4.scaleY=- video3.scaleY;

Asignamos un evento ENTER_FRAME a contendor y la función de llamada.

contenedor.addEventListener(Event.ENTER_FRAME, girar);

Creamos la función que se va a llamar en cada ENTER_FRAME en concepto de bucle. Ésta hace que el contenedor esté girando en su eje vertical (Y).

function girar(e:Event) {
contenedor.rotationY++;
}

Ver muestra

Descargar archivos

No hay comentarios

Aún no hay comentarios.

Suscripción RSS a los comentarios de la entrada.

Disculpe, los comentarios están cerrados.