对于一个项目,我们必须使用pygames创建一个视频游戏,我的背景图像有问题。我不能让它显示在我的球员身后,也不能得分。我应该使用screen.blit还是应该使用screen.fill?任何帮助表示赞赏。
<cfoutput>#session.bodyWidth#</cfoutput>
答案 0 :(得分:1)
这只是绘制顺序的问题。
看看这个伪代码。
Draw player.
Draw background.
# Player is not visible.
Draw background.
Draw player
# Desired output
答案 1 :(得分:0)
也许这会对你有所帮助!
How to add a background image into pygame?
告诉我,如果有效!而screen.blit()
将是您的最佳选择。
答案 2 :(得分:0)
def draw(self, screen):
screen.blit(bg, (640,380))
pygame.draw.rect(screen, (255, 255, 255), (self.x, self.y, self.padWid, self.padHei))
我无法分析您的代码,但这应该可以解决问题。
当您告诉计算机对图像进行blit时,无论背后是什么,它都会闪烁。它并不关心;你告诉它把图像放在那里,所以它会把图像放在那里。你首先展示了球员。这里没问题。但是你告诉它在显示玩家后显示背景。这将显示背景屏幕,无论其背后是什么。
请参阅http://www.pygame.org/docs/ref/surface.html#pygame.Surface.blit