所以我有一个游戏,要求玩家在1秒内对伤害免疫,否则,代码将立即杀死玩家。我这样做的方式是在if语句中检查敌人和玩家是否发生碰撞,然后从生命值中减去1。问题是,如果我使用"pause“功能,我的整个代码会冻结2秒,我只需要这个if循环就会冻结。
谢谢你,Alex!
发布于 2020-07-20 10:12:36
正如user1558604所说,您应该将一个名为is_immune的布尔值设置为false。当你受到伤害时,将其设置为true,并在一秒后将其设置为false,并在移除玩家的生命值之前,检查该玩家是否免疫。
is_immune = False
if player_is_hit:
if not is_immune:
player_health -= 1 # Remove 1 from health
is_immune = True
# Wait one second
is_immune = Falsehttps://stackoverflow.com/questions/62987513
复制相似问题