1

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

代码输入:

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

我将不胜感激有关为什么会发生这种情况以及如何解决它的任何反馈。

4

1 回答 1

0

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

您可以在pygame 教程中看到他们对此进行了说明。

于 2013-10-07T18:35:14.347 回答