Python Pygame的渲染故障

Python Pygame的渲染故障,python,pygame,Python,Pygame,我正在学习Python,并试图通过在视频中学习的同时使用Pygame创建一个小游戏来提高我的技能。 因此,我想实现基本菜单,其中包括一个暂停菜单和一些其他功能 我的目标是有这样的东西: 主菜单和级别选择: 游戏本身 暂停菜单,重新启动/恢复/返回主菜单 问题是,我使用暂停菜单的次数越多,时间越长,主菜单的视觉效果就越差。 视觉上的小故障似乎也没有规律的模式,有时是船粘住了,有时是敌人或激光,或者是所有的。 随着时间的推移,主标题也变得越来越不清晰 我拍了一些你能找到的截图 我发布了大部分有用

我正在学习Python,并试图通过在视频中学习的同时使用Pygame创建一个小游戏来提高我的技能。 因此,我想实现基本菜单,其中包括一个暂停菜单和一些其他功能

我的目标是有这样的东西:

  • 主菜单和级别选择:
  • 游戏本身
  • 暂停菜单,重新启动/恢复/返回主菜单
问题是,我使用暂停菜单的次数越多,时间越长,主菜单的视觉效果就越差。 视觉上的小故障似乎也没有规律的模式,有时是船粘住了,有时是敌人或激光,或者是所有的。 随着时间的推移,主标题也变得越来越不清晰

我拍了一些你能找到的截图 我发布了大部分有用的代码,以便您可以尝试

如果需要,可以通过此链接下载我使用的资产:

编辑: 问题似乎来自于管理游戏中循环背景图像无限自动滚动的这部分代码

global y
rel_y = y % BACKGROUND.get_rect().height
screen.blit(BACKGROUND, (0,rel_y - BACKGROUND.get_rect().height))
if rel_y < HEIGHT:
    screen.blit(BACKGROUND, (0, rel_y))
y += 1
全局y
rel_y=y%BACKGROUND.get_rect().height
blit(背景,(0,rel_y-BACKGROUND.get_rect().height))
如果相对高度<高度:
屏幕blit(背景,(0,相对)
y+=1
但是,如果背景从主菜单的开始处滚动,似乎不再有任何小故障。 我真的不明白为什么一开始它会出故障,我也不知道为什么从一开始就让它循环解决了这个问题

是什么让它发生的?
(我用代码运行所需的最小值编辑了粘贴库,它只需要一个我无法添加的背景图像,但如果需要,它位于资产下载链接上)

您好,我建议您尝试创建一个。在代码的缩减过程中,您经常会自己找到相关的部分,甚至可能能够修复它。我用我找到的内容进行编辑,谢谢您的帮助,很抱歉,我是这个网站的新用户,不用担心。这样更好,但我们仍然无法执行您的代码。但我是否正确理解是你自己修好的?这并不完全是我想要它的工作方式,但它可能比我最初想象的要好,所以我不会抱怨。代码需要一个后台文件才能工作,因为它使用了一些资产哈哈,这很公平。如果没有一个有效的代码,就很难理解正在发生的事情。也许有人会知道。嗨,我建议你试着创造一个。在代码的缩减过程中,您经常会自己找到相关的部分,甚至可能能够修复它。我用我找到的内容进行编辑,谢谢您的帮助,很抱歉,我是这个网站的新用户,不用担心。这样更好,但我们仍然无法执行您的代码。但我是否正确理解是你自己修好的?这并不完全是我想要它的工作方式,但它可能比我最初想象的要好,所以我不会抱怨。代码需要一个后台文件才能工作,因为它使用了一些资产哈哈,这很公平。如果没有一个有效的代码,就很难理解正在发生的事情。也许有人会知道。