我正在研究一款可以让玩家投下炸弹的游戏。我希望炸弹在爆炸前先闪烁一秒钟,以便玩家有时间逃跑。我发现的唯一解决方案是“睡眠”,但是线程暂停时播放器无法移动,因此无法正常工作。打开新线程并使用睡眠会很愚蠢吗?可能会有多个炸弹同时爆炸的情况。我也将使用这种方法来逐渐增加炸弹爆炸时的命中范围。如果相关的话,我正在研究monogame。
我认为您在这里使用了错误的模式。
因此,在您的游戏逻辑中,当您遍历活动游戏对象的状态时,您需要检查从其产生的时间到当前时间之间的时间,然后检查是否经过了保险丝时间:
If (Now() - SpawnTime >= Fusetime) { Boom(); }
您现在甚至可以拥有更多的逻辑。 例如:如果剩余时间少于1秒,则使炸弹闪烁/发出哔哔声/晃动。或您想要的任何内容。