使用Flare3D时,当播放器(在flash中编译时)调整大小时,或者当我在浏览器页面中运行它,然后锁定wy (windows)机器并再次解锁时,我遇到了错误#3694。
错误是:“该对象是由之前对其调用dispose()释放的。”
我做了一些搜索,找到了一些建议,如果字符串等于'Disposed',就检查context3D.driverInfo并跳过呈现,但这似乎不起作用。在我的例子中,这个字符串要么是'Software (embedded)‘(当在flash ide中运行时),要么是'DirectX9 (Direct blitting)’(当在独立播放器中运行时)。
有谁知道错误是什么以及如何避免它吗?
发布于 2012-10-21 16:14:46
我也有同样的问题,谷歌了,找到你的问题了.它帮助我找到了答案:)
您可能有一个调整大小处理程序,当anything调整舞台大小时将调用该处理程序。并尝试更改stage3D后台缓冲区的大小。
当舞台被调整大小时,context3D.driverInfo ==被“释放”。当您完成大小调整后,它将恢复正常。
因此,不是像这样:
context3D.configureBackBuffer(stageW(), stageH(), 0, false);尝试:
public function onResizeStage(event:Event) {
if (stage3D == null) {
return;
}
if (context3D == null) {
return;
}
if (context3D.driverInfo == "Disposed") {
return;
}
context3D.configureBackBuffer(stageW(), stageH(), 0, false);
}https://stackoverflow.com/questions/12601769
复制相似问题