pygame写入图片后图片不显示的问题

解决办法:最新版的pygame需要添加一行代码才会显示图片:pygame.event.get()

  1. 原来的代码:
    import pygame
    
    pygame.init()
    
    # 创建游戏的窗口 480 * 700
    screen = pygame.display.set_mode((480, 700))
    
    # 绘制背景图像
    # 1> 加载图像数据
    bg = pygame.image.load("./images/background.png")
    # 2> blit 绘制图像
    screen.blit(bg, (0, 0))
    # 3> update 更新屏幕显示
    pygame.display.update()
    
    while True:
        pass
    
    pygame.quit()
    

     

  2. 问题分析:发现所有代码都是正确的,但是就是不显示图片,我还把教案运行了一遍发现也不显示;后面发现原来是最新版的pygame需要添加一行代码才会显示图片:pygame.event.get(),所以在update方法的后面增加该行代码才会显示图片,但不需要每插入一个图片就写一次该行代码,只需要在插入的最后一张图片后面写即可(当然每次都写也没有问题)
  3. 最终效果:
  4. import pygame
    
    pygame.init()
    
    # 创建游戏的窗口 480 * 700
    screen = pygame.display.set_mode((480, 700))
    
    # 绘制背景图像
    # 1> 加载图像数据
    bg = pygame.image.load("./images/background.png")
    # 2> blit 绘制图像
    screen.blit(bg, (0, 0))
    # 3> update 更新屏幕显示
    pygame.display.update()
    
    # 绘制英雄的飞机
    hero = pygame.image.load("./images/me1.png")
    screen.blit(hero, (150, 300))
    pygame.display.update()
    pygem.event.get()
    
    while True:
        pass
    
    pygame.quit()
    

     

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: pygame是一个开源的python游戏开发库,使用pygame显示图片可以使用pygame.image.load()函数来加载图片文件,然后使用blit()方法将图片画到屏幕上。下面是一个简单的例子: ``` import pygame # 初始化pygame pygame.init() # 加载图片 image = pygame.image.load("image.png") # 获取屏幕的尺寸 screen_width, screen_height = pygame.display.Info().current_w, pygame.display.Info().current_h # 设置窗口的大小 screen = pygame.display.set_mode((screen_width, screen_height)) # 将图片画到屏幕上 screen.blit(image, (0, 0)) # 刷新屏幕 pygame.display.flip() # 持续显示图片 while True: pass ``` 在上面的例子中,我们使用pygame.image.load()函数加载图片文件,然后使用blit()方法将图片画到屏幕的左上角(0, 0)的位置。最后,我们使用pygame.display.flip()函数刷新屏幕,使得图片能够显示出来。 ### 回答2: Pygame是一个Python编程语言的库,它可以用来创建简单的2D游戏。在Pygame显示图片需要经过以下几个步骤: 1. 导入pygame库和sys库: import pygame import sys 2. 初始化pygame库: pygame.init() 3. 设置窗口的大小: screen = pygame.display.set_mode((800, 600)) 4. 加载图片image = pygame.image.load("example.jpg") 5. 将图片绘制到窗口上: screen.blit(image, (0, 0)) 6. 刷新窗口显示pygame.display.flip() 7. 创建一个事件循环,不断更新窗口: while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() 在上述代码中,我们首先导入了pygame和sys库,然后对pygame库进行初始化。接着,我们创建了一个窗口大小为800x600的窗口对象。将需要显示图片加载到内存中,然后使用screen.blit()函数图片绘制到窗口上。最后,通过pygame.display.flip()函数来更新窗口显示。在之后的代码中,我们创建了一个事件循环,在事件循环中我们监听了窗口关闭事件,如果接收到了该事件,则关闭pygame库并退出程序。 以上就是使用Pygame显示图片的过程。当然,在实际开发中,还可以对图片进行缩放、旋转等操作,以达到更加丰富的显示效果。 ### 回答3: Pygame是一个用于开发游戏和多媒体应用程序的Python库。要在Pygame显示图片,需要完成以下步骤: 首先,导入pygame库和sys模块: import pygame import sys 然后,初始化pygame并设置窗口的大小和标题: pygame.init() window_size = (800, 600) screen = pygame.display.set_mode(window_size) pygame.display.set_caption("显示图片") 接下来,加载图片并将其放在屏幕上: image = pygame.image.load("image.jpg") # 加载图片 image_rect = image.get_rect() # 获取图片的矩形区域 image_rect.center = (window_size[0] // 2, window_size[1] // 2) # 设置图片显示位置为屏幕中心 然后,创建一个游戏循环,使图片一直显示在屏幕上: while True: screen.fill((0, 0, 0)) # 清空屏幕 screen.blit(image, image_rect) # 在屏幕上绘制图片 pygame.display.flip() # 更新屏幕显示 最后,需要在循环中监听事件,使程序能够正确响应用户输入或关闭窗口: for event in pygame.event.get(): if event.type == pygame.QUIT: # 用户关闭窗口事件 pygame.quit() # 退出pygame sys.exit() # 退出程序 这样,就可以使用Pygame显示图片了。当程序运行时,图片将出现在屏幕中央,并且可以通过事件监听来关闭窗口。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值