我目前正在尝试将我的 godot 的一些逻辑分组到具有静态函数的类中。例如我有一个这样的脚本:
extends Resource
class_name ExpManagement
enum ExpGrowthType {FAST, MEDIUM_FAST, MEDIUM_SLOW, SLOW, FLUCTUATING, ERRATIC}
static func exp_to_level(exp_points: int, growth_type: ExpGrowthType):
...
在另一个脚本中,我用
ExpManagement.level_to_exp(exp_points, growth_type)
调用此函数
这样做时,编辑器会引发错误
Static function "exp_to_level" not found in base "ExpManagement"
,这似乎意味着代码无法在我的类脚本中找到我的函数。
我正在使用Godot 4.2。
我在网上搜索了多篇文章,包括文档,但没有找到原因。
奇怪的是,当我运行场景时,脚本运行得很好,没有出现错误,并且函数执行没有问题。有谁知道为什么错误只出现在编辑器中以及如何修复它?
该类没有在游戏中的任何地方实例化,并且我不使用任何自动加载或其他奇特的东西。
根据我的经验,重新保存文件(可能需要进行更改并撤消它)将使 Godot 再次解析文件来消除此类错误。