在这个文章里,我们将会使用按钮进行场景切换和游戏退出的功能。

        首先新建两个场景,一个作为标题场景,一个作为退出场景。

        在标题场景里,新建一个2D节点,命名为1。在退出场景也新建一个2D节点,命名为2。因为是用于方法说明,所以用简单的方式来测试,命名并不讲究。

        在节点1下新建一个子节点,在节点选择中找到Button节点点击创建,我们右键点击Button节点,重命名为StartButton。在主界面中此时会出现一个按钮,我们在StartButton节点的检查器中,输入文本“开始”。然后在主界面中将按钮拖到画面中心位置。

        回到节点1中,点击卷轴图标或者右键点击选择菜单中的添加脚本功能,对节点1创建一个脚本。

        在节点1的脚本中,输入以下代码:

extends Node2D

func _ready():
	var btn_pre = func():
		get_tree().change_scene_to_file("res://2.tscn")

	$StartButton.pressed.connect(btn_pre)

       在get_tree().change_scene_to_file()这段代码最后一个括号里的内容是连接到转到的场景,可以从左下角资源管理器里找到场景2直接拖入,更加便捷。

        点击保存后,我们的点击按钮切换到退出场景的功能就完成了。

        点击运行游戏,我们可以看到开始按钮,点击它就会跳转到退出场景。只不过此时我们的退出场景还没有任何东西,也没有退出功能,所以是一片空白。

        接下来我们给退出场景也设置个按钮,用于退出游戏。

        在退出场景的节点2下新建一个子节点,同样在节点选择中找到Button节点。新建后,重命名为QuitButton。在QuitButton的检查器中,输入文本为“退出”。然后在主界面中将按钮拖到画面中心位置。

        接下来回到节点2中,对节点2新建一个脚本。

        在节点2的脚本中,输入以下代码:

extends Node2D

func _ready() -> void:
	var btn_pre = func():
		get_tree().quit()
	
	$QuitButton.pressed.connect(btn_pre)

        保存后,此时我们的按钮就具备了退出功能。

        点击运行游戏,我们即可进入标题场景,点击开始按钮会跳转到退出场景,在退出场景里点击退出按钮,我们的游戏窗口就关闭了。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐