我正在使用 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,以防万一那里出了问题。