【发布时间】:2022-02-09 14:12:11
【问题描述】:
我正在尝试进入 Godot。在我的项目中,我想在附加到 Dash 节点的 Dash 脚本中访问一个名为 Duration Timer 的计时器。
Screenshot - Godot get Duration Timer
我已经尝试了 3 种方法来访问屏幕截图第 4,5 和 6 行中看到的节点。
onready var duration_timer = $DurationTimer
#onready var duration_timer = get_node("DurationTimer")
#onready var duration_timer = get_node("Movement/Dash/DurationTimer")
所有 3 行都会导致突出显示的错误消息
“无效的设置索引'wait_time'(基于: 'Nil'),值为 'int' 类型。
错误出现在第 14 行,因为尝试将 wait_time 设置为 Timer 元素。
duration_timer.wait_time = 1
有人知道为什么我无法获取 Timer 元素吗?
【问题讨论】:
-
我只能猜测你正在运行代码
duration_timer.wait_time = 1一次duration_timer未设置。可能还没有设置。那么,您在哪里调用该代码?另外,如果你做$DurationTimer.wait_time = 1,它会起作用吗? 顺便说一句get_node("Movement/Dash/DurationTimer")是错误的。 编辑:代码是在移动还是在破折号?在图像中,我看到get_node("Dash")表明代码正在移动,因为它应该是get_node("Dash/DurationTimer")。 -
嘿Teraot,感谢您的评论。您在屏幕截图中看到的代码附加到 Dash 节点。 $DurationTimer.wait_time = 1 导致相同的错误:无效的设置索引“wait_time”(基于:“null instance”),值为“int”类型。是的,我已经玩了一段时间了,用不同的符号来获取计时器,但我仍然无法让它工作。从 Player.gd 调用 start_dash 函数
标签: timer get game-development godot onready