AS3.0 增强现实 1046 错误

发布于 2024-12-08 20:44:09 字数 4078 浏览 0 评论 0原文

我在循环函数上遇到错误,谁能告诉我我做错了什么? 我认为我的语法很好?

严重性和描述 路径 资源位置 创建时间 ID 1046:未找到类型或不是编译时常量:事件。 ar/src ar.as 第 94 行 1318225764229 228

package {
    import flash.display.Sprite;

    import org.papervision3d.objects.primitives.Cube;
    [SWF(width="640", height="480", framerate="30", backgroundColor="#ffffff")]
    public class ar extends Sprite
    {
        // Embed the marker.pat file 
        [Embed(source="marker.pat", mimeType="application/octet-stream")]
        private var marker:Class;

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

        // createFLAR Vars
        private var ar_params:FLARParam;
        private var ar_marker:FLARCode;

        // createCAM Vars
        private var ar_vid:Video;
        private var ar_cam:Camera;

        // createBMP Vars
        private var ar_bmp:BitmapData;
        private var ar_raster:FLARRgbRaster_BitmapData;
        private var ar_detection:FLARSingleMarkerDetector;

        // createPapervision Vars
        private var ar_scene:Scene3D;
        private var ar_3dcam:FLARCamera3D;
        private var ar_basenode:FLARBaseNode;
        private var ar_viewport:Viewport3D;
        private var ar_renderengine:BasicRenderEngine;
        private var ar_transmat:FLARTransMatResult;
        private var ar_cube:Cube;

        public function ARProj()
        {
            createFLAR();
            createCAM();
            createBMP();
            createPapervision();
            addEventListener(Event.ENTER_FRAME, loop);
        }

        public function createFLAR()
        {
                ar_params = new FLARParam();
                ar_marker = new FLARCode();
                ar_params.loadParam(new cam_params() as ByteArray);
                ar_marker.loadARPatt(new marker());
        }

        public function createCAM()
        {
                ar_vid = new Video(640, 480);
                ar_cam = Camera.getCamera();
                ar_cam.setMode(640,480,30);
                ar_vid.attachCamera(ar_cam);
                addChild(ar_vid);
        }

        public function createBMP()
        {
                ar_bmp = new BitmapData(640,480);
                ar_bmp.draw(ar_vid);
                ar_raster = new FLARRgbRaster_BitmapData(ar_bmp);
                ar_raster = new FLARSingleMarkerDetector(ar_params, ar_marker, 80); 
        }
        public function createPapervision()
        {
                ar_scene = new Scene3D();
                ar_3dcam = new FLARCamera3D(ar_params); 
                ar_basenode = new FLARBaseNode();
                ar_renderengine = new BasicRenderEngine();
                ar_transmat = new FLARTransMatResult();
                ar_viewport = new Viewport3D();

                var ar_light:PointLight3D = new PointLight3D();
                ar_light.x = 1000;
                ar_light.y = 1000;
                ar_light.z = -1000;

                var ar_bitmap:BitmapMaterial;
                ar_bitmap = new BitmapFileMaterial("image.jpeg");
                ar_bitmap.doubleSided = true; 

                ar_cube = new Cube(new MaterialsList({all:ar_bitmap}), 80, 80, 80);
                ar_scene.addChild(ar_baseNnode);
                ar_basenode.addChild(ar_cube);
                addChild(ar_viewport);  
        }   
        public function loop(e:Event):void
        {
                ar_bmp.draw(ar_vid);
                ar_cube.rotationX +=4;
                ar_cube.rotationY +=6;

                try
                {
                    if (ar_detection.detectMarkerLite(ar_raster, 80) && ar_detection.getConfidence() > 0)
                    {
                        ar_detection.getTransformMatrix(ar_transmat);
                        ar_basenode.setTransformMatrix(ar_transmat);
                        ar_renderengine.renderScene(ar_scene, ar_3dcam, ar_viewport);
                    }   
                }
                catch(e:Error){
                }
        }
    }
}

I am having an Error on the loop function can anyone tell me what i am doing wrong?
I think my syntax is good?

Severity and Description Path Resource Location Creation Time Id
1046: Type was not found or was not a compile-time constant: Event. ar/src ar.as line 94 1318225764229 228

package {
    import flash.display.Sprite;

    import org.papervision3d.objects.primitives.Cube;
    [SWF(width="640", height="480", framerate="30", backgroundColor="#ffffff")]
    public class ar extends Sprite
    {
        // Embed the marker.pat file 
        [Embed(source="marker.pat", mimeType="application/octet-stream")]
        private var marker:Class;

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

        // createFLAR Vars
        private var ar_params:FLARParam;
        private var ar_marker:FLARCode;

        // createCAM Vars
        private var ar_vid:Video;
        private var ar_cam:Camera;

        // createBMP Vars
        private var ar_bmp:BitmapData;
        private var ar_raster:FLARRgbRaster_BitmapData;
        private var ar_detection:FLARSingleMarkerDetector;

        // createPapervision Vars
        private var ar_scene:Scene3D;
        private var ar_3dcam:FLARCamera3D;
        private var ar_basenode:FLARBaseNode;
        private var ar_viewport:Viewport3D;
        private var ar_renderengine:BasicRenderEngine;
        private var ar_transmat:FLARTransMatResult;
        private var ar_cube:Cube;

        public function ARProj()
        {
            createFLAR();
            createCAM();
            createBMP();
            createPapervision();
            addEventListener(Event.ENTER_FRAME, loop);
        }

        public function createFLAR()
        {
                ar_params = new FLARParam();
                ar_marker = new FLARCode();
                ar_params.loadParam(new cam_params() as ByteArray);
                ar_marker.loadARPatt(new marker());
        }

        public function createCAM()
        {
                ar_vid = new Video(640, 480);
                ar_cam = Camera.getCamera();
                ar_cam.setMode(640,480,30);
                ar_vid.attachCamera(ar_cam);
                addChild(ar_vid);
        }

        public function createBMP()
        {
                ar_bmp = new BitmapData(640,480);
                ar_bmp.draw(ar_vid);
                ar_raster = new FLARRgbRaster_BitmapData(ar_bmp);
                ar_raster = new FLARSingleMarkerDetector(ar_params, ar_marker, 80); 
        }
        public function createPapervision()
        {
                ar_scene = new Scene3D();
                ar_3dcam = new FLARCamera3D(ar_params); 
                ar_basenode = new FLARBaseNode();
                ar_renderengine = new BasicRenderEngine();
                ar_transmat = new FLARTransMatResult();
                ar_viewport = new Viewport3D();

                var ar_light:PointLight3D = new PointLight3D();
                ar_light.x = 1000;
                ar_light.y = 1000;
                ar_light.z = -1000;

                var ar_bitmap:BitmapMaterial;
                ar_bitmap = new BitmapFileMaterial("image.jpeg");
                ar_bitmap.doubleSided = true; 

                ar_cube = new Cube(new MaterialsList({all:ar_bitmap}), 80, 80, 80);
                ar_scene.addChild(ar_baseNnode);
                ar_basenode.addChild(ar_cube);
                addChild(ar_viewport);  
        }   
        public function loop(e:Event):void
        {
                ar_bmp.draw(ar_vid);
                ar_cube.rotationX +=4;
                ar_cube.rotationY +=6;

                try
                {
                    if (ar_detection.detectMarkerLite(ar_raster, 80) && ar_detection.getConfidence() > 0)
                    {
                        ar_detection.getTransformMatrix(ar_transmat);
                        ar_basenode.setTransformMatrix(ar_transmat);
                        ar_renderengine.renderScene(ar_scene, ar_3dcam, ar_viewport);
                    }   
                }
                catch(e:Error){
                }
        }
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寒冷纷飞旳雪 2024-12-15 20:44:09
import flash.events.Event;

您尚未导入 Event 类。添加此导入。

import flash.events.Event;

You have not imported Event class. Add this import.

-黛色若梦 2024-12-15 20:44:09

您缺少事件类(可能还有更多)的导入。

You're missing the import for the event Class (and probably more).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文