在网页上,使用
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'")
JavaScriptBridge.eval
替代:JavaScriptBridge.eval("window.location.href='https://example.com'")
您可以使用 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 构建,则会导航浏览器,但如果不是,则尝试打开默认浏览器。