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

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

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

最佳答案

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

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

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
}

然后你就会
setExitHandler(function() {
    trace("Quit!");
});

关于haxe - OpenFL 中是否有任何 onClose 事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27758821/

10-11 19:13