1.图片精灵
因为在这个游戏当中看到的都是很漂亮的图形或图片。
这个首先都是由美工给开发出来各种图像的资源。
导入资源图片,加载到精灵。
定义一个pygame.sprite.Sprite.init(self)属性,
只是用这个Surface()创建了一个形状,普通图形。
这个self.image = pygame.Surface((50, 50)),要让它从磁盘上来加载一个真正的图片文件,这样可以看到的这个屏幕窗口上就是图片效果。
2.获取图片资源
首先获取图片有哪些渠道,通过科学上网,美工专门切图。
3.相对路径加载图片
如何把小人的图片加载到游戏当中呢?
我们要让 self.image = pygame.Surface((50, 50))这行代码发生变化,它要从文件当中,也就是当前项目的根目录下来加载.png的图片。
1.首先第一件事,需要得到资源图片的一个文件路径。
2.新建目录一个img的文件夹,然后把png图片资源都移动到img这个文件夹里头去。
3.获取图片的路径,不要使用绝对路径,采用相对路径。
4.首先得到当前代码文件它所在的路径,如何去获取?import OS,通过OS模块游戏的文件夹game_folder = os.path.dirname(file),这段得到的是当前这个player.py的文件。
game_folder 它所在的路径,得到这个路径之后是不是这个img跟这个png图片的路径是不是有一种相对关系。
找到这种相对关系,那我们图片的路径,就是这个我们得到的是Player.py所在的文件夹的路径。
plant_vs_zoomie_game所在文件夹,这个文件夹路径img_path = os.path.join()就是一个字符串拼接,用我们当前这个目录game_folder再加上一个‘img’目录,得到图片相对路径。
# 相对路径
game_folder = os.path.dirname(__file__)
# 字符串拼接
img_path = os.path.join(game_folder, 'img')
就是为了得到img文件夹下的png图片,在pygame里怎么把这个图片加载变成一个图像对象。
pygame里有个属性,然后里面有个load()方法,指定你要加载图片的路径。
convert_alpha()转变成一个透明图像。
player_img = pygame.image.load(os.path.join(img_path,