godot在_process()函数实现非阻塞延时触发逻辑

python 复制代码
extends Node2D

# 用于累加 delta 的变量
var elapsed_time = 0
# 设定计时周期,单位为秒
var interval = 3

func _process(delta):
    # 累加 delta 到 elapsed_time
    elapsed_time += delta
    # 检查是否达到了设定的时间间隔
    if elapsed_time >= interval:
        # 执行每 3 秒要做的逻辑
        print("每 3 秒执行一次的逻辑被触发")
        # 重置 elapsed_time,以便开始下一个计时周期
        elapsed_time = 0

在游戏开发中,我们常常利用游戏引擎每一帧传递的 delta 值(代表从上一帧到当前帧所经过的时间,单位通常为秒)来实现计时逻辑。下面分别以 Godot 引擎和 Unity 引擎为例,介绍如何通过累加 delta 来判断每几秒的逻辑。

Godot 引擎

在 Godot 里,_process 函数会在每一帧被调用,并且会传入 delta 参数。以下是一个示例代码,展示如何通过累加 delta 来实现每 3 秒执行一次特定逻辑:

相关推荐
之歆9 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
Maimai1080810 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
candyTong10 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
卡卡军13 小时前
agmd 1.0 重磅升级——Rust 重写,性能起飞
javascript·rust
Larcher13 小时前
🔥 告别抓瞎:用 Claude Code (cc) 优雅接手与维护已有项目
javascript·机器学习·前端框架
JYeontu13 小时前
轮播图不够惊艳?试下这个立体卡片轮播图
前端·javascript·css
亲亲小宝宝鸭13 小时前
如何监听DOM尺寸的变化?element-resize-detector 和 resizeObserver
前端·javascript
卷帘依旧16 小时前
Generator 全面解析 + async/await 深度对比
前端·javascript
weixin_4713830316 小时前
统一缩放单位基础(px、em、rem)
开发语言·javascript·ecmascript
yqcoder16 小时前
数据劫持的双雄:深入解析 Object.defineProperty 与 Proxy
开发语言·前端·javascript