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 秒执行一次特定逻辑:

相关推荐
失落的多巴胺1 小时前
使用deepseek制作“喝什么奶茶”随机抽签小网页
javascript·css·css3·html5
DataGear1 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
影子信息1 小时前
vue 前端动态导入文件 import.meta.glob
前端·javascript·vue.js
样子20181 小时前
Vue3 之dialog弹框简单制作
前端·javascript·vue.js·前端框架·ecmascript
kevin_水滴石穿1 小时前
Vue 中报错 TypeError: crypto$2.getRandomValues is not a function
前端·javascript·vue.js
翻滚吧键盘1 小时前
vue文本插值
javascript·vue.js·ecmascript
海的诗篇_3 小时前
前端开发面试题总结-原生小程序部分
前端·javascript·面试·小程序·vue·html
KhalilRuan4 小时前
Unity-MMORPG内容笔记-其一
unity·游戏引擎
黄瓜沾糖吃5 小时前
大佬们指点一下倒计时有什么问题吗?
前端·javascript
温轻舟5 小时前
3D词云图
前端·javascript·3d·交互·词云图·温轻舟