godot - 未在继承类中声明的方法
问题描述
我有一个名为 UnitDeckCard 的类。它继承自 DeckCard,后者继承自 TextureRect。我的问题是,在 UnitDeckCard 中,我试图用场景中的节点定义一个 onready var:
onready var cost_label = $CostLabel
但后来我收到一个错误The method "get_node" isn't declared in the current class
我认为,由于 UnitDeckCard 通过继承继承自 Control 类(TextureRect 类),因此 get_node 方法将可用,因为 Control 继承自 Node(get_node 是 Node 方法)。据我所知,我的情况是这样的:
UnitDeckCard < 甲板卡 < TextureRect < 控制 < CanvasItem <节点< 对象。
为什么我不能在 UnitDeckCard 中使用 get_node 方法?
解决方案
看来我只需要退出项目并再次打开它。我猜是来自 Godot Engine 的某种错误。
我能说的唯一值得注意的是我没有使用直接的类名。UnitDeckCard 使用脚本路径扩展 DeckCard extends "res://deck_card_script_path.gd"
,然后我开始使用 class_name 并使用类名extends DeckCard
而不是使用脚本路径进行扩展。无论如何,不知道究竟是什么引发了错误,因为继承应该首先起作用。
推荐阅读
- heroku - heroku 和 nuxt 文件上传器不工作
- oauth - Epic FHIR AppOrchard OAuth
- react-native - 我正在尝试使用 react-call-detection 来检测未接来电号码,但有些东西不起作用
- python - 如何修复 netlify api 中的 raise SysCallError(errno, errorcode.get(errno)) OpenSSL.SSL.SysCallError: (10054, 'WSAECONNRESET')?
- r - geom_contour 错误:“不可能生成所有 z 值都相等的轮廓数据”
- react-native - ReactNative WebView 不在网络上呈现,但在 Android 上运行良好
- android - 返回单身
在 Android Room 中的 @Insert 上不起作用 - php - PHP数据排序
- github - 如何在 GitHub 上设置自定义扩展到语言的映射而不向 Linguist 添加新语言
- reactjs - 代理错误:无法将请求/付款从 localhost:3000 代理到 https://localhost:5000/