首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stage3D错误#3694:该对象已由先前对其执行的dispose()调用释放

Stage3D错误#3694:该对象已由先前对其执行的dispose()调用释放
EN

Stack Overflow用户
提问于 2012-09-26 20:30:46
回答 1查看 3.5K关注 0票数 1

使用Flare3D时,当播放器(在flash中编译时)调整大小时,或者当我在浏览器页面中运行它,然后锁定wy (windows)机器并再次解锁时,我遇到了错误#3694。

错误是:“该对象是由之前对其调用dispose()释放的。”

我做了一些搜索,找到了一些建议,如果字符串等于'Disposed',就检查context3D.driverInfo并跳过呈现,但这似乎不起作用。在我的例子中,这个字符串要么是'Software (embedded)‘(当在flash ide中运行时),要么是'DirectX9 (Direct blitting)’(当在独立播放器中运行时)。

有谁知道错误是什么以及如何避免它吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-21 16:14:46

我也有同样的问题,谷歌了,找到你的问题了.它帮助我找到了答案:)

您可能有一个调整大小处理程序,当anything调整舞台大小时将调用该处理程序。并尝试更改stage3D后台缓冲区的大小。

当舞台被调整大小时,context3D.driverInfo ==被“释放”。当您完成大小调整后,它将恢复正常。

因此,不是像这样:

代码语言:javascript
复制
context3D.configureBackBuffer(stageW(), stageH(), 0, false);

尝试:

代码语言:javascript
复制
public function onResizeStage(event:Event) { 
    if (stage3D == null) {
        return;
    }           
    if (context3D == null) {
        return;
    }
    if (context3D.driverInfo == "Disposed") {
        return;
    }
    context3D.configureBackBuffer(stageW(), stageH(), 0, false);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12601769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档