Pygame加载同目录图片绘制无显示,语法正常无报错该如何解决?
问题修复方案
你代码中绘制图片的逻辑存在调用对象错误,这是无法显示图片的核心原因:blit()方法的调用主体为需要承载内容的目标Surface,你当前写的isaac.blit(isaac,(100,200))是将图片资源绘制到了图片自身的Surface对象上,完全没有渲染到用于展示的主屏幕screen上,因此图片不会出现在窗口中。
修复步骤
- 将绘制图片的代码行替换为如下内容,将图片绘制到主屏幕Surface上:
screen.blit(isaac, (100, 200))
- (可选优化)加载PNG格式图片时建议追加
convert_alpha()方法,保留图片的透明通道,避免图片出现异常背景色块:
isaac=pygame.image.load('isaac.png').convert_alpha()
修复后完整代码
import pygame,sys pygame.init() clock = pygame.time.Clock() screen=pygame.display.set_mode((800,800)) second_surface=pygame.Surface([100,200]) second_surface.fill((0,0,255)) isaac=pygame.image.load('isaac.png').convert_alpha() while True: for event in pygame.event.get(): if event.type==pygame.QUIT: pygame.quit() sys.exit() screen.fill((255,255,255)) screen.blit(second_surface,(0,50)) screen.blit(isaac,(100,200)) pygame.display.flip() clock.tick(60)
内容的提问来源于stack exchange,提问作者Bob The Bean
相关产品推荐
相关产品推荐

