Pygame - blitting到屏幕产生奇怪的结果?

时间:2013-10-07 18:32:29

标签: pygame

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

代码输入:

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

如果发生这种情况以及我如何解决这个问题,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

每帧都没有空白画布。在绘制旧星之前,你需要擦掉旧星。

您可以在pygame tutorials中看到他们说明这一点。