小编meg*_*old的帖子

在 Godot 中使用 C# 异步延迟

我目前正在尝试用 Godot C# 制作一个基本的射手,对于枪的射速,我一直在尝试不同的延迟系统。尽管我试图使脚本通用,但节点计时器仍然有效,并且计时器调用似乎只调用父脚本中的函数。

\n

我现在正在研究 C# 的 Task.Delay 方法,它似乎也可以工作,因为它是一个异步操作,它看起来不会受到帧速率的影响或减慢游戏速度。

\n

我的问题是,在游戏应用程序中使用 Task.Delay 是否存在任何已知问题:比如它是否不可靠,或者如果调用该方法的实例过多,它会崩溃吗?

\n

这是下面的代码,尽管我认为它\xe2\x80\x99s 并不重要:

\n
 private void shoot() {\n  //if "canShoot" spawn bullet\n  ShootCooledDown();\n}\n\nprivate async void ShootCooledDown() {\n  TimeSpan span = TimeSpan.FromSeconds((double)(new decimal(shotDelay)));\n  canShoot = false;\n  await Task.Delay(span);\n  canShoot = true;\n}  \n
Run Code Online (Sandbox Code Playgroud)\n

c# async-await godot

5
推荐指数
1
解决办法
5362
查看次数

标签 统计

async-await ×1

c# ×1

godot ×1