Pygame Pygame在移动精灵后不断绘制更多精灵

2024-07-05 10:42:30 发布

您现在位置:Python中文网/ 问答频道 /正文

no idea what's wrong

不会让我发布完整的代码,搜索这个网站和谷歌,但没有找到答案

DISPLAYSURF=pygame.display.set_mode((width,height),0,32)

sprite=pygame.image.load('generic_legionnary.png'

def move(direction, sprite, spritex, spritey):
    if direction:
        if direction == K_UP:
            spritey-=5
            sprite=pygame.image.load('generic_legionnary.png')
        elif direction == K_DOWN:
            spritey+=5
            sprite=pygame.image.load('generic_legionnary.png')
        if direction == K_LEFT:
            spritex-=5
            sprite=pygame.image.load('generic_legionnary.png')
        elif direction == K_RIGHT:
            spritex+=5
            sprite=pygame.image.load('generic_legionnary.png')
    return sprite, spritex, spritey

while True:

    DISPLAYSURF.blit(sprite,(spritex,spritey))

我不知道出了什么问题,它在移动时不断放置新的图像,我如何才能确保只有一幅画在移动? 谢谢

编辑:解决了

screen.fill((255,255,255))

设置背景色,跟踪对象将消失


Tags: noimageifpngloadpygamegenericelif
1条回答
网友
1楼 · 发布于 2024-07-05 10:42:30

您是否在每个循环开始时清除屏幕

为什么每次移动时都要加载新的精灵

他们只需要在函数之前加载一个,而不需要其他

如果没有在每个循环中清除屏幕,则会得到此跟踪。 (或者您的跟踪可能是您已覆盖的旧精灵,但通常垃圾收集器应该清除它们。)

相关问题 更多 >