1

当我调试我的程序 stage.stage3Ds 为空(长度 0)时,当我尝试使用它进行编程时,这给了我一个错误。当我将一个新的 Stage3D 推送到 stage.stage3Ds 然后使用 requestContext3D() 函数时,我永远不会得到允许我继续执行程序的 context3d_create 事件

4

1 回答 1

2

Adob​​e AIR 应用程序描述符 XML 文件中,设置以下元素:

<renderMode>direct</renderMode>
<depthAndStencil>true</depthAndStencil>

渲染模式

指定是否使用图形处理单元 (GPU) 加速(如果当前计算设备支持)。

为了利用适用于移动平台的 AIR 对 Flash 内容进行 GPU 加速,Adobe 建议您使用 renderMode="direct"(即 Stage3D)而不是 renderMode="gpu"。Adobe 官方支持并推荐以下基于 Stage3D 的框架:Starling (2D) 和 Away3D (3D)。有关 Stage3D 和 Starling/Away3D 的更多详细信息,请参阅http://gaming.adobe.com/getstarted/

深度和模板

指示应用程序需要使用深度或模板缓冲区。您通常在处理 3D 内容时使用这些缓冲区。默认情况下,此元素的值为 false 以禁用深度和模板缓冲区。这个元素是必要的,因为缓冲区必须在应用程序启动时分配,在任何内容加载之前。

此元素的设置必须与传递给 Context3D.configureBackBuffer() 方法的 enableDepthAndStencil 参数的值相匹配。如果值不匹配,AIR 会发出错误。

此元素仅在 renderMode = direct 时适用。如果 renderMode 不等于 direct,ADT 会抛出错误 118:

于 2013-05-09T21:50:08.890 回答