我正在尝试在 godot 4.1 中设置一个带有一些变量的基本全局脚本。我已将脚本添加到自动加载并启用全局变量。由于某种原因,当我运行游戏时,我不可避免地会出现以下错误:
“获取索引‘Health’无效(基于:‘Nil’)” (健康是我试图改变的变量)
我在调试器中也遇到以下错误: “开始:脚本不继承自 Node res://Globals.gd”
注意:我可以在脚本编辑器中引用全局变量,它会突出显示它,就像它是自动加载的一样。
我在另外两个使用 godot 4.1 的游戏中进行了完全相同的设置,它们都工作得很好。我在这里完全不知所措,任何帮助将不胜感激。
我尝试将其删除并将其读入自动加载(穴居人级别的技术技能,但值得一试),我还尝试查看我的旧游戏,看看脚本的设置方式和方式是否有任何差异找不到任何东西。我验证了该脚本与所有其他脚本位于同一个文件中,并且我尝试在线查看是否有其他人遇到此问题并已经发布了解决方案。
请注意,我对编程总体来说还很陌生,所以任何中等技术性的答案可能都会超出我的理解。
谢谢。
听起来您已正确地将脚本设置为自动加载。错误“脚本不继承自节点 res://Globals.gd”表示您的自动加载脚本不源自
Node
。
自动加载只是在主场景节点之前添加到场景树根的节点。从历史上看,自动加载的引用方式如下:
get_node("root/MyAutoload")
。
要修复您的脚本,请确保它继承自某种 Node:
extends Node
# ... rest of your autoload script.