Actionscript中的编译器错误

时间:2013-03-20 16:40:23

标签: actionscript-3 flash-builder augmented-reality

嗨,这可能看起来像个傻瓜,但我是一个学生试图制作一个增强现实应用程序,我发现这个工具包用于AR的东西,我已经带入Flash构建器,但我从来没有真正使用过任何外部工具包而且我不确定我在做什么。

目前它一直在说它试图访问未定义的属性@ 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);
        }
    }
}

1 个答案:

答案 0 :(得分: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

在动作3中,语法如下:

var [nameOfObject]:[typeOfObject] = new [ObjectClass](params);
祝你好运