在godot 并没有全局变量或全局函数,如果要和各个场景之间进行交互或数据的保留,那么将变得不可能,
因为每一个场景都是独立的,当切换场景时候,所有的数据都被清空。
那么该如何保存不同场景之间的数据呢?
godot 引入了一个 autoload 功能,就是每个场景都自动加载一个相同节点(或资源),就是每个场景都会包含这个节点,该节点的数据将会一直保存,这样就可以在每个场景之间交互数据了
设置autoload ,首先在点击 scene 按钮,选择 project setting,点击 autoload 添加节点

path 选项是选择 节点,通常是一个 脚本文件,(也可以是一个场景,可以实现场景间的切换),后面的
Node name 可以随便填写,这里是gobal,点击 Add 完成
这样每一个场景都会自动加载该节点,那怎样去使用呢?
使用autoload ,godot 所有对象都是节点,所以 上面添加的 gobal.gd 脚本必须 继承 node(extends Node)
get_node('/root/gobal') 就可以引用到该节点,gobal 是node
name,上面你填写的名称
这样你可以在 gobal.gd 脚本中添加各种 功能 ,使用 变量来保存 游戏玩家的 信息 等等,
下面是使用 这个
因为每一个场景都是独立的,当切换场景时候,所有的数据都被清空。
那么该如何保存不同场景之间的数据呢?
godot 引入了一个 autoload 功能,就是每个场景都自动加载一个相同节点(或资源),就是每个场景都会包含这个节点,该节点的数据将会一直保存,这样就可以在每个场景之间交互数据了
设置autoload ,首先在点击 scene 按钮,选择 project setting,点击 autoload 添加节点
path 选项是选择 节点,通常是一个 脚本文件,(也可以是一个场景,可以实现场景间的切换),后面的
Node name 可以随便填写,这里是gobal,点击 Add
这样每一个场景都会自动加载该节点,那怎样去使用呢?
使用autoload ,godot 所有对象都是节点,所以 上面添加的 gobal.gd 脚本必须 继承 node(extends Node)
get_node('/root/gobal')
这样你可以在 gobal.gd 脚本中添加各种 功能 ,使用 变量来保存 游戏玩家的 信息 等等,
下面是使用 这个
