我正在写一个 pygame,你基本上必须躲避星星。它有一家商店,您可以购买力场,但我只希望力场工作 3 次,然后在您购买有效的力场时消失force_field = True
,但是当它们发生碰撞时我遇到了碰撞部分self.force_count -=1
的问题,问题是这样每隔几分之一循环一次,因为碰撞发生了一秒钟,它循环了三遍,然后你就输了
这是我的如果状态:
star_col = self.player_r.colliderect(self.star_r)or self.player_r.colliderect(self.star2_r)or self.player_r.colliderect(self.star3_r)
if self.force_field == True and star_col == True:
self.force_count+=1
print "ship hit"
if self.force_count == 3:
self.force_field = False
if star_col == True and self.force_field == False:
self.force_field = 0
self.state = 0
if self.money > 0:
self.money = self.money - 25
打印只是为了测试,但是当我与一颗星星碰撞时,它会打印 3 次,然后通过屏幕进入游戏,而不是只数到一个然后再继续
所以我想知道我怎么能做到这一点,而只需在一瞬间添加 3 并结束
如果您阅读了所有这些内容,非常感谢您,请帮助我!
-ChristianCareaga