项目主目录下新建一个img文件夹,下载上面的图片素材,保存到此目录。
加载图像
在程序的顶部,我们将定义 img
文件夹的位置:
from os import path
img_dir = path.join(path.dirname(__file__), 'img')
绘制背景
主循环之前:添加背景代码
# 加载背景图片
background = pygame.image.load(path.join(img_dir, 'starfield.png')).convert()
background_rect = background.get_rect()
主循环内部角色绘制前,添加代码
# 绘制背景
screen.fill(BLACK)
screen.blit(background, background_rect)
all_sprites.draw(screen)
加载 sprite 的图像
# 加载所有素材
background = pygame.image.load(path.join(img_dir, 'starfield.png')).convert()
background_rect = background.get_rect()
player_img = pygame.image.load(path.join(img_dir, "playerShip1_orange.png")).convert()
meteor_img = pygame.image.load(path.join(img_dir, "meteorBrown_med1.png")).convert()
bullet_img = pygame.image.load(path.join(img_dir, "laserRed16.png")).convert()
飞机 Player 类 – 修改 self.image=player_img,删除不再需要的 image.fill(GREEN),添加代码:
class Player(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = player_img
self.rect = self.image.get_rect()
使用set_colorkey 设置透明颜色:
self.image = pygame.transform.scale(player_img, (50, 38))
self.image.set_colorkey(BLACK)
陨石类 Bullet, 子弹类Mobm, 替换素材
完整代码: