Guest User

Untitled

a guest
Jul 15th, 2010
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package{
  2.     import com.transmote.flar.FLARManager;
  3.     import com.transmote.flar.marker.FLARMarker;
  4.     import com.transmote.flar.marker.FLARMarkerEvent;
  5.     import com.transmote.flar.utils.geom.FLARPVGeomUtils;
  6.     import com.transmote.utils.time.FramerateDisplay;
  7.    
  8.     import flash.display.Sprite;
  9.     import flash.events.Event;
  10.    
  11.     import org.libspark.flartoolkit.support.pv3d.FLARCamera3D;
  12.     import org.papervision3d.materials.MovieMaterial;
  13.     import org.papervision3d.objects.DisplayObject3D;
  14.     import org.papervision3d.objects.primitives.Plane;
  15.     import org.papervision3d.render.LazyRenderEngine;
  16.     import org.papervision3d.scenes.Scene3D;
  17.     import org.papervision3d.view.Viewport3D;
  18.    
  19.     //[SWF(width='640', height='480', backgroundColor='#000000', frameRate='40')]
  20.    
  21.     public class ra extends Sprite
  22.     {
  23.         private var fm:FLARManager;
  24.         private var scene:Scene3D;
  25.         private var view:Viewport3D;
  26.         private var camera:FLARCamera3D;
  27.         private var lre:LazyRenderEngine;
  28.         private var p:Plane;
  29.         private var con:DisplayObject3D;
  30.         private var marker:FLARMarker;
  31.         private var v:Vid;
  32.        
  33.         public function ra()
  34.         {
  35.             initFLAR();
  36.             v = new Vid();
  37.             v.vid.source = "video.flv";
  38.             v.vid.stop();
  39.         }
  40.        
  41.         private function initFLAR():void
  42.         {
  43.             fm = new FLARManager("flarConfig.xml");
  44.             fm.addEventListener(FLARMarkerEvent.MARKER_ADDED, onAdded);
  45.             fm.addEventListener(FLARMarkerEvent.MARKER_REMOVED, onRemoved);
  46.             fm.addEventListener(Event.INIT, init3D);
  47.             addChild(Sprite(fm.flarSource));
  48.         }
  49.        
  50.         private function onAdded(e:FLARMarkerEvent):void
  51.         {
  52.             marker = e.marker;
  53.             p.visible = true;
  54.             v.vid.play();
  55.         }
  56.        
  57.         private function onRemoved(e:FLARMarkerEvent):void
  58.         {
  59.             marker = null;
  60.             p.visible = true;
  61.         }
  62.        
  63.         private function init3D(e:Event):void
  64.         {
  65.             scene = new Scene3D();
  66.             camera = new FLARCamera3D(fm.cameraParams);
  67.             camera.z = -30;
  68.             view = new Viewport3D(640, 480, true);
  69.             lre = new LazyRenderEngine(scene, camera, view);
  70.            
  71.             var mat:MovieMaterial = new MovieMaterial(v, false, true);
  72.             p = new Plane(mat, 320, 240, 2, 2);
  73.             p.scaleY = -1;
  74.             p.rotationZ = 90;
  75.             p.visible = false;
  76.            
  77.             con = new DisplayObject3D();
  78.             con.addChild(p);
  79.            
  80.             scene.addChild(con);
  81.             addChild(view);
  82.             addChild(new FramerateDisplay());
  83.            
  84.             addEventListener(Event.ENTER_FRAME, loop);
  85.         }
  86.        
  87.         private function loop(e:Event):void
  88.         {
  89.             if(marker != null)
  90.             {
  91.                 con.transform = FLARPVGeomUtils.convertFLARMatrixToPVMatrix(marker.transformMatrix);
  92.             }
  93.             lre.render();
  94.         }
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment