1

我正在使用 AIR SDK 版本 3.0.0.4080 和此版本的 Away3D ( https://github.com/away3d/away3d-core-fp11/ ) 在 Macbook Pro 上的 FDT 5 中构建项目。应用程序描述符文件的 renderMode 设置为 direct。

当它从最新的 playerglobal.swc 构建时,我已经能够让 Away3D 4.0 与 FP11 一起使用,但是当我尝试构建 AIR 项目时,airglobal.swc 似乎略有不同。Filter3DTaskBase由于方法参数的差异而引发错误。

参数数量不正确。预计不超过2。

_program3D.upload(new AGALMiniAssembler(Debug.active).assemble(Context3DProgramType.VERTEX, getVertexCode(), Debug.active),

protected function updateProgram3D(stage : Stage3DProxy) : void
        {
            if (_program3D) _program3D.dispose();
            _program3D = stage.context3D.createProgram();
            _program3D.upload(  new AGALMiniAssembler(Debug.active).assemble(Context3DProgramType.VERTEX, getVertexCode(), Debug.active),
                                new AGALMiniAssembler(Debug.active).assemble(Context3DProgramType.FRAGMENT, getFragmentCode(), Debug.active));
            _program3DInvalid = false;
        }

并且在AGALMiniAssembler

public function assemble( mode:String, source:String, verbose:Boolean = false ):ByteArray
        {
                 ...

据我所见,参数的数量匹配。我不确定我在这里缺少什么。我在 Away3D 论坛或 GitHub 上的问题中找不到任何关于此的内容。

我想知道我的显卡等是否存在更深层次的问题,因为 stage.displayState 的行为也很奇怪,它的行为就像 swf 是通过播放器而不是 adl 运行的(需要将 MouseEvent 更改为全屏)。虽然我已经重新安装了最新的 flex sdk 和 AIR sdk,以防万一那里出了问题。

4

1 回答 1

1

我的源路径中有另一个版本的 AGALMiniAssembler,因为它包含在 ND2D 库中。一旦使用 Away3D 期望的版本,应用程序就会正确编译。

于 2011-11-05T00:01:03.597 回答