【发布时间】:2020-04-20 23:34:37
【问题描述】:
我想要一个始终在玩家角色和敌人背后的游戏背景图片。我刚刚输入:
background = pygame.image.load("mypicture")
在我的代码顶部,在我的运行循环之前。然后我通过键入以下内容对图像进行 blit:
screen.blit(background, (0, 0))
如果我在运行循环之前对图像进行 blit,则游戏一点也不卡顿,但是玩家角色移动的任何地方都会留下一个永远不会走的轮廓,as shown 但是,如果我在运行循环期间对图像进行 blit,则不会发生前面提到的跟踪器效果,而是游戏玩家运行速度非常慢。
值得一提的是我的玩家角色的一些代码:
def Player(x, y):
screen.blit(PlayerImg, (x, y))
我在运行循环结束时调用函数,就在之前
pygame.display.update
。玩家被放置在坐标 x, y 上,这取决于键盘的输入。
【问题讨论】:
-
你能显示你所有的代码吗
-
尝试添加转换方法:
background = pygame.image.load("mypicture").convert()并在循环中对其进行 blit -
谢谢,kaktus_car,它成功了。如果您将其作为答案而不是评论说,我会检查它。添加 .convert() 到底有什么作用?
-
@AdamT 我想确定这是问题所在。我现在把它作为答案。谢谢