关闭Godot中的游戏

4







1个回答

6

退出游戏

在网页上,使用

get_tree().quit()

应该可以工作。也就是说,它应该停止运行时。游戏将不会继续运行。但是它不会关闭浏览器标签页。事实上,浏览器有关于脚本关闭标签页的限制。

注意:确保您正在使用Godot 3.2.3或更新版本(请参见#39604)。我尝试过了,它能够正常工作。


创建链接

您可以创建一个LinkButton,它是一个看起来像超链接的按钮。您想将其"pressed"信号连接到一个脚本,其中使用OS.shell_open,例如:

OS.shell_open("https://example.com")

注意:这将在Web导出中打开一个新标签页。在桌面上,它会打开默认浏览器。


浏览器导航

既然您询问如何关闭游戏和创建链接,我猜您实际上想要的是导航(离开游戏并转到另一个页面)。

在Web导出中,您可以访问浏览器的JavaScript运行时来实现此目的。

在Godot 3中,请使用{{link1:JavaScript.eval}}:

JavaScript.eval("window.location.href='https://example.com'")

在 Godot 4 中使用 JavaScriptBridge.eval 替代:
JavaScriptBridge.eval("window.location.href='https://example.com'")

检测 Web 构建

您可以使用 OS.get_name 来识别平台。

例如,您可以这样做:

Godot 3

if OS.get_name() == "HTML5":
   JavaScript.eval("window.location.href='https://example.com'")
else:
   OS.shell_open("https://example.com")

Godot 4

if OS.get_name() == "Web":
   JavaScriptBridge.eval("window.location.href='https://example.com'")
else:
   OS.shell_open("https://example.com")

如果这是一个 Web 构建,则会导航浏览器,但如果不是,则尝试打开默认浏览器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接