前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Godot进行2D游戏开发入门-场景的切换

Godot进行2D游戏开发入门-场景的切换

作者头像
码客说
发布2023-08-08 12:59:02
7610
发布2023-08-08 12:59:02
举报
文章被收录于专栏:码客码客

加载子场景

当前场景中加载下一个场景,当前场景不销毁

代码语言: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()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载子场景
    • 场景的查找
    • 更换场景
      • 销毁所有场景
        • 替换当前场景
        • 延迟执行任务
        • 退出游戏
        • 打印当前场景节点树
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档