首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在onClose中有OpenFL事件吗?

在onClose中有OpenFL事件吗?
EN

Stack Overflow用户
提问于 2015-01-03 19:41:09
回答 2查看 868关注 0票数 3

在OpenFL 2.2.1应用程序中,我使用的库需要在退出时清理(即关闭套接字,使其在某些超时之前不会挂起)。

但是,当我用Alt+F4或窗口的关闭按钮关闭窗口时,我找不到任何调用的事件。

如何检测应用程序正在终止,以便清理我的资源?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-16 06:48:55

要回答关于openfl-next的问题,有一个lime.app.Application.onExit事件,它继承自lime.app.ModuleApplication引用存储在openfl.display.Stage.application实例字段中。

因此,该函数的多版本变体如下:

代码语言:javascript
复制
static function setExitHandler(func:Void->Void):Void {
    #if openfl_legacy
    openfl.Lib.current.stage.onQuit = function() {
        func();
        openfl.Lib.close();
    };
    #else
    openfl.Lib.current.stage.application.onExit.add(function(code) {
        func();
    });
    #end
}

然后你就会

代码语言:javascript
复制
setExitHandler(function() {
    trace("Quit!");
});
票数 4
EN

Stack Overflow用户

发布于 2015-01-03 21:17:02

部分答案将是回到遗留的OpenFL (使用-Dopenfl-legacy<haxedef name="openfl-legacy" />)。

这个技巧迫使编译器使用前一个API,它启用了Lib.stage.onQuit

代码语言:javascript
复制
public static function main():Void
{
    // …
    Lib.stage.onQuit = onClose;
    // …
}

private static function onClose()
{
    // …
    // Cleanup of opened resources
    // …
    Lib.close();
}

一定要打电话给Lib.close(),否则你的窗口就不能再关闭了!

然而,这并没有回答我对于较新的openfl-next的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27758821

复制
相关文章

相似问题

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