PyGame,如何清理旧精灵
我最近在用Python和PyGame做游戏,发现一个问题:当我移动游戏里的角色时,角色会在自己身后留下一个个影子,像是拖着尾巴一样。有没有什么办法可以清除这些角色移动时留下的旧影像呢?我试着在移动的时候重新画背景来去掉它们,但这样做让我很烦。有没有什么好主意?谢谢!
2 个回答
0
你需要把你的代码顺序调整一下,或者可能是因为你把负责显示图片的那行代码放在了一个循环里,而不是放在绘制整个窗口(屏幕)的那行代码里。
举个例子:
import pygame as pg
win = pg.display.set_mode((width, height)) # the set up of the window
all_sprites = pg.sprite.Group() # this is the group where the sprites live
all_sprites.draw(win) # this draws the whole window
1
只需要在你的主循环里每次调用一下 window.fill([0, 0, 0])
。这里的 window
是你用 pygame.display.set_mode()
创建的主窗口。如果你有任何问题,欢迎在下面留言。