如何解决如何在 Pygame 中加载图像?
我写了这个命令来在 Pygame Python
中加载图像sun_img = pygame.image.load('img/sun.png')
bg_img = pygame.image.load('img/sky.png')
run= True
while run:
screen.blit(bg_img,(0,0))
screen.blit(sun_img,(100,100))
但是当我运行程序时没有加载图像。此外,我没有收到任何类型的错误。 请检查我是否做错了什么或告诉我该怎么做!!
解决方法
您必须更新显示并处理事件:
run= True
while run:
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
screen.blit(bg_img,(0,0))
screen.blit(sun_img,(100,100))
pygame.dispaly.flip()
典型的 PyGame 应用程序循环必须:
- 通过
pygame.event.pump()
或pygame.event.get()
处理事件。 - 根据输入事件和时间(分别为帧)更新游戏状态和对象位置
- 清除整个显示或绘制背景
- 绘制整个场景(
blit
所有对象) - 通过
pygame.display.update()
或pygame.display.flip()
更新显示
您实际上是在 Surface
对象上绘图。如果您在与 PyGame 显示相关联的表面上绘图,则不会立即在显示中看到。当显示更新为 pygame.display.update()
或 pygame.display.flip()
时,更改变为可见。
这将更新整个显示的内容。
分别见pygame.event.get()
pygame.event.pump()
:
对于游戏的每一帧,您都需要对事件队列进行某种调用。这可确保您的程序可以在内部与操作系统的其余部分进行交互。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。