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

相关推荐
上班摸鱼下班游戏14 分钟前
从零开始玩转 DOTween
unity·游戏引擎
Linux_cy32 分钟前
服务器管理工具哪个好用?我用了七八个
运维·服务器·javascript·python·ssh·面板·gmssh
变与不变8061 小时前
jQuery细节以及使用应用场景
前端·javascript·jquery
阿松爱学习5 小时前
【Unity开发】Unity长截图功能实现
unity·c#·游戏引擎
小小数媒成员6 小时前
Rect Transform
游戏·unity·游戏引擎
এ慕ོ冬℘゜7 小时前
ES Promise.all/ Promise.race
前端·javascript·elasticsearch
只睡四小时9 小时前
端侧推理:face-api.js 首屏 92% 是白下载的
开发语言·javascript·人脸识别·ecmascript·tensorflow.js·face-api.js·端侧推理
用户83134859306989 小时前
Vue3 v-for:常用用法与开发高频坑点
前端·javascript·vue.js
Funlang9 小时前
fun-ui 开源:把浏览器界面接回来
前端·javascript
2603_965896629 小时前
CSS BEM 命名规范|组件化样式分层权威指南
前端·javascript·css