加载子场景
当前场景中加载下一个场景,当前场景不销毁
代码语言:javascript复制func _ready():
var menu_root = preload("res://scenes/menu.tscn").instantiate()
self.add_child(menu_root)
或者
代码语言:javascript复制func _ready():
var menu_root = load("res://scenes/menu.tscn").instantiate()
self.add_child(menu_root)
场景的销毁
代码语言:javascript复制var menu_root = preload("res://scenes/menu.tscn").instantiate()
self.add_child(menu_root)
await await get_tree().create_timer(10.0).timeout
self.remove_child(menu_root)
menu_root.queue_free()
场景的查找
查找所有的子
代码语言:javascript复制var menu_list = self.get_children()
if (menu_list.size()>0):
var menu = menu_list[menu_list.size()-1]
self.remove_child(menu)
menu.queue_free()
按名称查找
代码语言:javascript复制var menu = self.get_node("menu")
self.remove_child(menu)
menu.queue_free()
更换场景
销毁所有场景
切换场景,并销毁所有场景
代码语言:javascript复制get_tree().change_scene_to_file("res://scenes/menu.tscn")
替换当前场景
销毁当前场景,加载新场景
代码语言:javascript复制var main_root = preload("res://scenes/main.tscn").instantiate()
self.get_parent().add_child(main_root)
self.queue_free()
延迟执行任务
延迟10秒执行
代码语言:javascript复制await await get_tree().create_timer(10.0).timeout
退出游戏
代码语言:javascript复制get_tree().quit()
打印当前场景节点树
代码语言:javascript复制self.print_tree_pretty()