• pygame.error: Couldn't open images/ship.bmp


      在《python编程:从入门到实践》这本书中的《外星人入侵》的项目里有如下代码:

     Python Code 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    import pygame
    class Ship():
        
    def __init__(self, screen):
            
    """初始化飞船并设置其初始位置"""
            self.screen = screen
            
    # 加载飞船图像并获取其外接矩形
            self.image = pygame.image.load('images/ship.bmp')
            self.rect = self.image.get_rect()
            self.screen_rect = screen.get_rect()
            
    # 将每艘新飞船放在屏幕底部中央
            self.rect.centerx = self.screen_rect.centerx
            self.rect.bottom = self.screen_rect.bottom
        
    def blitme(self):
        
    """在指定位置绘制飞船"""
        self.screen.blit(self.image, self.rect)

      运行时可能会出现错误:pygame.error: Couldn’t open images/ship.bmp

      将self.image = pygame.image.load(‘images/ship.bmp’)中的图片路径补全。(因为是Windows系统所以用反斜杠“”) 
           然后在路径前加一个 r 读取图片文件。具体代码如下:

     Python Code 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    import pygame
    class Ship():
        
    def __init__(self, screen):
            
    """初始化飞船并设置其初始位置"""
            self.screen = screen
            
    # 加载飞船图像并获取其外接矩形
            # self.image = pygame.image.load('imagesship.bmp')
            self.image = pygame.image.load(r'D:ship.bmp')
            self.rect = self.image.get_rect()
            self.screen_rect = screen.get_rect()
            
    # 将每艘新飞船放在屏幕底部中央
            self.rect.centerx = self.screen_rect.centerx
            self.rect.bottom = self.screen_rect.bottom
        
    def blitme(self):
            
    """在指定位置绘制飞船"""
            self.screen.blit(self.image, self.rect)

  • 相关阅读:
    bzoj1467 Pku3243 clever Y
    bzoj2242 [SDOI2011]计算器
    卡特兰数
    洛谷P1290 欧几里得的游戏
    bzoj2277 [Poi2011]Strongbox
    poj2406 Power Strings
    Codeforces 892 D.Gluttony
    Codeforces 892 C.Pride
    Codeforces 892 B.Wrath
    Codeforces 892 A.Greed
  • 原文地址:https://www.cnblogs.com/MakeView660/p/9552286.html
Copyright © 2020-2023  润新知