2013-03-20 52 views
0

嗨,这可能看起来像一个愚蠢的,但我是一个学生试图做一个增强现实应用程序,我发现这个工具包的AR东西,我把它带入闪光灯生成器,但我从来没有真正使用过任何外部工具包之前,我不知道我在做什么。在Actionscript中的编译器错误

目前它一直说它试图访问未定义的属性@ ar_cam,ar_vid,ar_marker,& ar_params。

我不知道我是否做错了什么,或者如果它与我如何使用外部工具包有关。

任何人都可以给我这个建议将不胜感激。

这是到目前为止我的代码:

package 
{ 
    import flash.display.BitmapData; 
    import flash.display.Sprite; 
    import flash.media.Camera; 
    import flash.media.Video; 
    import flash.utils.ByteArray; 

    import org.libspark.flartoolkit.core.FLARCode; 
    import org.libspark.flartoolkit.core.param.FLARParam; 

    [SWF(width="320", height="480", frameRate="30", backgroundColor="#FFFFFF")] 

    public class Main extends Sprite 
    { 
     [Embed(source="marker.pat", mimeType="application/octet-stream")] 
     private var marker:Class; 

     [Embed(source="camera_para.dat", mimeType="application/octet-stream")] 
     private var cam_params:Class; 

     public function Main() 
     { 
      createFLAR(); 
      createCam(); 
     } 
     public function createFLAR() 
     { 
      ar_params = new FLARParam(); 
      ar_marker = new FLARCode(16, 16); 
      ar_params.loadARParam(new cam_params() as ByteArray); 
      ar_marker.loadARPatt(new marker()); 
     } 
     public function createCam() 
     { 
      ar_vid = new Video(320, 480); 
      ar_cam = Camera.getCamera(); 
      ar_cam.setMode(320, 480, 30); 
      ar_vid.attachCamera(ar_cam); 
      addChild(ar_vid); 
     } 
    } 
} 

回答

3

你不能在任何的这些功能创建的对象的变量,以便替换

ar_params = new FLARParam(); 
ar_marker = new FLARCode(16, 16); 

var ar_params:FLARParam = new FLARParam(); 
var ar_marker:FLARCode = new FLARCode(16, 16); 

ar_vid = new Video(320, 480); 
ar_cam = Camera.getCamera(); 

var ar_vid:Video = new Video(320, 480); 
var ar_cam:Camera = Camera.getCamera(); //I don't know if Camera is right after the : so you could use * if that doesn't work 

在ActionScript 3的语法如下:

var [nameOfObject]:[typeOfObject] = new [ObjectClass](params); 

好运

+0

感谢的是摆脱了这些错误的反正。这总是一个愚蠢的错误。 – 2013-03-21 15:11:45