在《python编程:从入门到实践》这本书中的《外星人入侵》的项目里有如下代码:
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) # 根据指定位置将图像绘制到屏幕上
在运行时可能会出现如下报错:
File “d:\python3wp\alien_invasion\ship.py”, line 8, in init
self.image = pygame.image.load(‘images/ship.bmp’)
pygame.error: Couldn’t open images/ship.bmp
经本人试用成功的解决办法如下:
将self.image = pygame.image.load(‘images/ship.bmp’)中的图片路径补全。(因为是Windows系统所以用反斜杠“\”)
然后在路径前加一个 r 读取图片文件。具体代码如下:
self.image = pygame.image.load(r'D:\python3wp\alien_invasion\images\ship.bmp')