如何在pygame中的一段时间后添加一个矩形

时间:2017-07-28 14:56:09

标签: python pygame

我想知道如何在用户获得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时,矩形只是闪烁,它不显示为实体

1 个答案:

答案 0 :(得分:1)

  

当用户获得10p时,矩形只会闪烁

     
    

它不会显示为实体

  

我假设每次clock.tick运行时都会逐步执行此逻辑。每次根据您的计时器调用“blocks()”时,矩形重新绘制本身会导致闪烁。

您可以通过检查矩形是否已经被绘制来阻止矩形闪烁。

下面提供了一些伪代码

    bool shown = false

    blocks() 
       …
       shown=true

    if score >= 10 
       if ! shown 
          blocks()
       …
       clock.tick(fps)