1

我正在尝试在 Flash 中使用 CAST3D,当我执行代码时,它给了我这个错误 1046:找不到类型或不是编译时常量:Matrix3D。当我单击编译器错误时,它会将我带到 CAST3D 的动作脚本,它是这样的:

public function get local(): Matrix3D { return this.geomgroup.transform; }

我已经在 flash 中安装了 library.swc 文件。我是 Flash 新手。这个问题有什么解决办法吗?非常感谢阿德里安·德·巴罗

public function blenderModel() 
    {
        setup3DScene();
    }
private function setup3DScene(): void
    {
        this.setupSandy();
        this.setupCast3D();
        this.setupControls();
        this.loadData();

        this.addEventListener(Event.ENTER_FRAME, this.handleEnterFrame);    
    }

    /**
     * initial setup for Sandy3D.
     */     
    public function setupSandy(): void
    {       
     // We create the camera
         camera = new Camera3D( 600, 400 );
         camera.near = 1;

         // We create the "group" that is the tree of all the visible objects
         var root:Group = new Group();

         // We create a Scene and we add the camera and the objects tree 
         scene = new Scene3D( "scene", this, camera, root );             
         scene.light = new Light3D(new Vector(0,0,1),100);
    }

    /**
     * initial setup for Cast3D.
     */     
    public function setupCast3D(): void
    {       
                    this.loaded = false;
        this.animator = new Cast3d(this.scene, this.camera);
        this.animator.animationType = Cast3d.ANIMATION_TYPE_BYFRAME; //  ANIMATION_TYPE_REAL; //
        this.animator.fps = 22;
        this.animator.autoRewind = false;                       
    }

    /**
     *  Function setups visual animation control 
4

2 回答 2

1

我不知道这个库,并且通过简要查看文档,我不是 100% 清楚它如何与 Papervision3D 或 Sandy3D 交互。但是,教程页面在单个 Cast3D swc 的下载链接旁边列出了以下要求:

  • 使用渲染引擎 Sandy3D 或 Papervision3D 构建的 Flex 库 cast3d.swc 代码。

正如 Sunil 指出的那样,错误告诉您编译器找不到 Matrix3D 类。但是,我认为它是 Sandy3D 库中的 Matrix3D 类,而不是 Flash 播放器内置的版本。我认为您需要下载正确版本的 Sandy3D 并确保在您的编译器选项中正确引用它。

于 2012-05-24T20:03:36.270 回答
0

错误是说您的编译器找不到Matrix3D类,该类内置于 Flash Player 10.0 及更高版本中。

您的项目的编译器设置是否可能指定 Flash 9,因此它不知道Matrix3D该类?

于 2012-05-24T20:01:35.570 回答