gpt4 book ai didi

java - LibGDX 防止应用程序关闭(桌面)

转载 作者:行者123 更新时间:2023-12-05 03:08:15 27 4
gpt4 key购买 nike

我正在 LibGDX 中构建一个仅限桌面的应用程序。该游戏内置了一个 map 编辑器,您可以切换到并更改游戏 map 。我想添加一个功能,如果用户单击关闭窗口并且有未保存的编辑,它会提示您是否要在关闭之前保存更改。实现此效果的最佳方法是什么?

编辑:我在这个 LibGDX 项目中使用 Lwjgl3。

最佳答案

您只需重写LwjglApplication 类的退出方法即可拦截对Gdx.app.exit 的任何调用,包括应用程序在窗口打开时所做的调用通过 Lwjgl 显示关闭。

//desktop
public class DesktopLauncher
{
public static void main(String[] arg)
{
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();

config.title = "YourGame";
config.width = 800;
config.height = 400;

new LwjglApplication(new YourGame(), config) {
@Override
public void exit()
{
if(((YourGame)getApplicationListener()).canClose())
super.exit();
}
};
}
}

//core
public class YourGame implements ApplicationListener
{
//...

public boolean canClose()
{
//close logic here
return true; //return true if you want the close to happen
}
}

当然,在您的情况下,您的 map 编辑器应该是一个屏幕,因此您的游戏应该调用当前屏幕的 canClose() 方法,而不是 checkin 游戏类。

关于java - LibGDX 防止应用程序关闭(桌面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45537887/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com