チェンジセット 2742: as3/CyberCube

差分発生行の前後
無視リスト:
コミット日時:
2009/05/29 00:01:58 (3 年前)
コミッタ:
tarotarorg
ログメッセージ:

依存関係が多すぎたので、FLARToolKitとPapervision3Dがあればコンパイルできるように加工

  • FLARToolKit/samplesに入れていたクラスをコピー
  • Metasequoiaでモデルを出していたのを、PV3DのSphereに変更
  • 無関係なimportを削除
ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/CyberCube/trunk/readme.txt

    r2734 r2742  
    55 
    662. dependencies 
    7  * Spark Project 
    8    * FLARToolKit/trunk/src 
    9    * FLARToolKit/trunk/samples 
    10    * ZipLoader/trunk/src 
    11    * Metasequoia/branches/tarotarorg/src 
    12    * Metasequoia/src 
    13  * Other 
    14    * papervision3d/as3/trunk/src 
    15 3. model file 
    16  * swf file needs model file "model/pipe.mqo". 
    17 ============================================== 
    18 <root dir> 
    19    +---C2ForImage.swf 
    20    +---model(dir) 
    21        +---pipe.mqo 
    22        +---mat1.bmp 
    23 ============================================== 
     7 * FLARToolKit 
     8 * Papervision3D 
  • as3/CyberCube/trunk/src/org/tarotaro/flash/ar/C2ForImage.as

    r2734 r2742  
    5858        import org.papervision3d.objects.parsers.Collada; 
    5959        import org.papervision3d.objects.parsers.KMZ; 
     60        import org.papervision3d.objects.primitives.Sphere; 
    6061        import org.tarotaro.flash.display.SimpleFlvWriterFP10; 
    61         import org.tarotaro.flash.pv3d.AnimationMetasequoia; 
    62         import org.tarotaro.flash.pv3d.AnimationMetasequoiaEvent; 
    63         import org.tarotaro.flash.pv3d.Metasequoia; 
    6462        import org.papervision3d.lights.PointLight3D; 
    6563        import org.papervision3d.materials.shadematerials.FlatShadeMaterial; 
     
    7270        import org.tarotaro.flash.ar.layers.FLARLayer; 
    7371        import org.tarotaro.flash.display.PhotoStage; 
    74         import org.tarotaro.flash.pv3d.ZipLoader; 
    7572         
    7673        /** 
     
    9693                [Embed(source = "assets/sideQ.pat", mimeType = "application/octet-stream")]private var SideQCode:Class; 
    9794                [Embed(source = "assets/cube-basic32.pat", mimeType = "application/octet-stream")]private var SideCode:Class; 
    98                 [Embed(source = 'assets/alpha.png')]private var AlphaMapClass:Class; 
    9995                public function C2ForImage()  
    10096                { 
     
    141137                        var baseNode:FLARBaseNode = new FLARBaseNode(); 
    142138 
    143                         //ミレニアムファルコンの読み込み 
    144                         //var kmz:KMZ = new KMZ(); 
    145                         //kmz.load("Falcon01-04.kmz"); 
    146                         //kmz.rotationX = 90; 
    147                         //kmz.scale = 10; 
    148                         //kmz.z += 110; 
    149                         //baseNode.addChild(kmz); 
    150  
    151                         /* 立方体 */ 
     139                        // erase green cube. 
    152140                        var fmat:TriangleMaterial; 
    153                         fmat = new BitmapMaterial(Bitmap(new AlphaMapClass()).bitmapData, true); 
    154141                        fmat = new ColorMaterial(0x00FF00,1); 
    155                         //fmat = new WireframeMaterial(0xFF0000, 100, 0); 
    156142                        fmat.doubleSided = true; 
    157143                        var cSize:uint = cube.size + cube.space*2; 
     
    160146                        baseNode.addChild(cubeModel); 
    161147 
    162                         //はちゅねミクの読み込み 
    163                         var model:Metasequoia = new Metasequoia(); 
    164                         model.rotationX = 90
    165                         //model.rotationZ = 90
    166                         model.load("model/pipe.mqo", 0.5)
     148                        //display model. 
     149                        var light:PointLight3D = new PointLight3D(); 
     150                        var mat:TriangleMaterial = new FlatShadeMaterial(light, 0xffffff, 0x33000000)
     151                        var model:Sphere = new Sphere(mat, 100, 16, 16)
     152                        model.z += 150
    167153                        baseNode.addChild(model); 
    168154                         
     
    173159                        if(webcam) { 
    174160                                this.addEventListener(Event.ENTER_FRAME, onEnterFrame); 
    175                                 //this.addEventListener(MouseEvent.CLICK, startRec); 
    176161                        } else { 
    177162                                this.addEventListener(MouseEvent.CLICK, loadLocalImage); 
     
    180165                        } 
    181166                         
    182                          
    183167                        //表示用にDisplayObjectを乗せていく 
    184168                        this._base.addChild(this._capture); 
     
    186170                        this._layer.scaleX = this._layer.scaleY = 2; 
    187171 
    188  
    189172                        this.addChild(this._base); 
    190173                } 
    191                  
    192                 private function startRec(e:MouseEvent):void  
    193                 { 
    194                         recCnt = 0; 
    195                         this.removeEventListener(MouseEvent.CLICK, startRec); 
    196                         this._data = new ByteArray(); 
    197                         this._flvWriter.prepareFlv(this._data, 640, 480, 10,120); 
    198                         this._frameBD = new BitmapData(640, 480); 
    199  
    200                         this.addEventListener(MouseEvent.CLICK, endRec); 
    201                         this.addEventListener(Event.ENTER_FRAME, rec); 
    202                 } 
    203                 private var recCnt:int; 
    204                 private function rec(e:Event):void  
    205                 { 
    206                         this._frameBD.lock(); 
    207                         this._frameBD.draw(this); 
    208                         this._frameBD.unlock(); 
    209                         this._flvWriter.saveFrame(this._frameBD); 
    210                 } 
    211                  
    212                 private function endRec(e:MouseEvent):void  
    213                 { 
    214                         this.removeEventListener(MouseEvent.CLICK, endRec); 
    215                         this.removeEventListener(Event.ENTER_FRAME, onEnterFrame); 
    216                         this.removeEventListener(Event.ENTER_FRAME, rec); 
    217  
    218                         var fr:FileReference=new FileReference();                         
    219                         fr.addEventListener(Event.COMPLETE, function(e:Event):void  
    220                         { 
    221                                 addEventListener(MouseEvent.CLICK, startRec); 
    222                                 addEventListener(Event.ENTER_FRAME, onEnterFrame); 
    223                         }); 
    224                         fr.save(this._data,"sample.flv"); // ダイアログを表示する 
    225   
    226                 } 
    227                  
    228                  
    229174                 
    230175                /**