godot 4.2 出现错误“静态函数未在基中找到”,但运行时没有问题

问题描述 投票:0回答:1

我目前正在尝试将我的 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。

我在网上搜索了多篇文章,包括文档,但没有找到原因。

奇怪的是,当我运行场景时,脚本运行得很好,没有出现错误,并且函数执行没有问题。有谁知道为什么错误只出现在编辑器中以及如何修复它?

该类没有在游戏中的任何地方实例化,并且我不使用任何自动加载或其他奇特的东西。

static godot godot4
1个回答
0
投票

根据我的经验,重新保存文件(可能需要进行更改并撤消它)将使 Godot 再次解析文件来消除此类错误。

© www.soinside.com 2019 - 2024. All rights reserved.