extends Node2D# 用于累加 delta 的变量
var elapsed_time = 0
# 设定计时周期,单位为秒
var interval = 3func _process(delta):# 累加 delta 到 elapsed_timeelapsed_time += delta# 检查是否达到了设定的时间间隔if elapsed_time >= interval:# 执行每 3 秒要做的逻辑print("每 3 秒执行一次的逻辑被触发")# 重置 elapsed_time,以便开始下一个计时周期elapsed_time = 0
在游戏开发中,我们常常利用游戏引擎每一帧传递的 delta
值(代表从上一帧到当前帧所经过的时间,单位通常为秒)来实现计时逻辑。下面分别以 Godot 引擎和 Unity 引擎为例,介绍如何通过累加 delta
来判断每几秒的逻辑。
Godot 引擎
在 Godot 里,_process
函数会在每一帧被调用,并且会传入 delta
参数。以下是一个示例代码,展示如何通过累加 delta
来实现每 3 秒执行一次特定逻辑: