You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot 4.2.1中使用onready关键字时出现「Unexpected 'identifier' in class body」错误求助

Godot 4.2.1中使用onready关键字时出现「Unexpected 'identifier' in class body」错误求助

兄弟,一看这个错误就知道是踩了Godot版本升级的语法坑!咱们先把核心问题解决掉:

Godot 4.x 系列已经彻底弃用了Godot 3里的onready关键字写法,换成注解形式的@onready了,你直接写旧语法编译器肯定认不出来,才会报「Unexpected 'identifier' in class body」这个错。

先看你问题代码里的错误行:

onready var water_timer = $WaterTimer

只需要在onready前面加个@符号,改成下面这样就可以了:

@onready var water_timer = $WaterTimer

另外看你贴的代码,还有两个小细节可以留意下:

  • 你的_on_Watertimeout()函数名,注意信号自动生成的回调函数名一般是小写开头的(比如你已经写的_on_water_timer_timeout()),要确保和编辑器里连接的信号名称完全对应,不然信号触发了也不会执行;
  • water_level变量你没在脚本里定义,后续运行大概率会报未定义的错误,记得补个变量声明哦。

附上你提供的代码和错误提示截图:
代码和错误提示截图

既然你说所有脚本都有这个错误,那统一把所有脚本里的onready替换成@onready就能批量解决啦,祝你养植物的小游戏开发顺利!

备注:内容来源于stack exchange,提问作者NFT Monke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:13:00