我想知道如何在用户获得10分后添加矩形形状。
我有一个名为blocks()的函数,它只是绘制一个矩形。我为此编写的代码片段是
#bunch of code
main_gameloop()
while running:
#bunch of code
if score >= 10:
blocks()
pygame.display.update()
p.display.update()
clock.tick(fps)
main_gameloop()
但是,当用户获得10p时,矩形只是闪烁,它不显示为实体
答案 0 :(得分:1)
当用户获得10p时,矩形只会闪烁
它不会显示为实体
我假设每次clock.tick运行时都会逐步执行此逻辑。每次根据您的计时器调用“blocks()”时,矩形重新绘制本身会导致闪烁。
您可以通过检查矩形是否已经被绘制来阻止矩形闪烁。
下面提供了一些伪代码
bool shown = false
blocks()
…
shown=true
if score >= 10
if ! shown
blocks()
…
clock.tick(fps)