我正在 Unity 中开发一个伪节奏游戏,玩家在其中经历几个“回合”,同时在所述回合中对节奏提示的多个输入进行计时。随着游戏的进行,回合变得越来越快。对于这些输入期间中的每一个,我有几种方法用于检查在该期间是否进行了输入。我的问题是我用来确保每个周期只被调用一次的逻辑。
对于每个方法,我都有一个布尔值标记该方法是否在某一轮中被调用,然后一旦该轮的时间大于应该调用该方法的时间点我调用该方法并将布尔值更改为 True直到回合结束。这感觉非常草率、混乱和低效,但我想不出更好的方法。像这样的问题一般是怎么处理的?我研究了 Coroutines 和 Invoke 方法,但要么是我误解了它们,要么它们无法帮助我完成我正在尝试做的事情。