【问题标题】:Pygame - blitting to screen producing weird results?Pygame - 闪烁到屏幕上产生奇怪的结果?
【发布时间】:2013-10-07 18:32:28
【问题描述】:

我已经在我的程序屏幕上绘制了一个图像,效果很好,但是当我尝试“动画”它时,它会产生奇怪的结果。似乎是更新它的位置会产生另一个图像等等......

代码输入:

screen=pygame.display.set_mode((640,360),0,32)
star=pygame.image.load("star.png").convert_alpha()

x = randint(80,700)
y = randint(-200,-200)

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            pygame.quit()
            sys.exit()

    x-=0.1
    y+=0.1
    screen.blit(star,(x,y))

    if y > 360:
        y = randint(-200,-200)
        x = randint(80,700)
        screen.fill((0,0,0))

    pygame.display.update()

结果:

http://imgur.com/i28oD5b

如果您能就为什么会发生这种情况以及如何解决此问题提供任何反馈,我将不胜感激。

【问题讨论】:

    标签: pygame


    【解决方案1】:

    你不会每帧都得到一个空白画布。在绘制新星之前,您需要先擦除旧星。

    您可以在pygame tutorials 中看到他们对此的解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-05
      • 1970-01-01
      • 2011-01-26
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多