趣学Python游戏编程
上QQ阅读APP看书,第一时间看更新

1.2.3 显示图像

现在拥有了一个程序窗口,但它似乎空空如也,并没有什么内容。我们希望在窗口里面显示点什么。例如准备将一幅精美的图片显示在窗口中,如何做到呢?

首先将图片文件放到指定的位置,即images文件夹中。单击Mu编辑器上方的“图片”按钮,会自动打开images文件夹,如图1.6所示。将图片文件复制到该文件夹中即可。

图1.6 图片文件存放的文件夹

说明:

Pgzero只支持三种格式的图片文件,分别是png、jpg和gif格式,因此在显示图片之前要看一看,图片文件后缀是不是符合以上文件类型,如果不是则需使用图片处理软件转换一下格式。同时注意一下图片文件的名字,只能由小写字母、下画线及数字组成,而且要以字母开头。例如以下文件名是符合要求的:

ball.png

ball2.png

breakout_ball.png

而如下文件名是不合要求的:

3.png

3degrees.png

my-cat.png

将图片文件准备好并放入images文件夹后,便可以将其显示在窗口中,这需要调用screen对象的blit()方法。例如显示一个名为breakout_ball的小球图片,只需要在程序中加入一行代码:

blit()方法的第一个参数是要显示的图片文件名,以字符串表示(不要带后缀),第二个参数为图像显示的坐标。该坐标是由两个数所组成的元组,第一个数表示图像的横坐标,第二个数则为图像的纵坐标。由于Pgzero中窗口的坐标原点位于左上角,向右横坐标值增加,向下纵坐标值增加,因此坐标(200,100)表示图像从窗口左边界向右偏移200像素,从窗口上边界向下偏移100像素。

到目前为止已经编写了5行代码,如下所示:

提示:

注意draw()函数中的两行代码要保持缩进一致,因为Python程序是根据缩进来划分语句块的,同一个函数中的所有代码要具有相同的缩进。

现在运行程序,可以看到图1.7所示的程序界面,其中标示了图像的坐标值所代表的含义。

现在不仅拥有了一个程序窗口,而且在里面显示了一幅图像,真是太了不起了。但别高兴太早,现在这个程序还不能称为游戏。我们都知道,游戏中的图形或图像是会“活动”的,也就是说它们可以不断地改变位置进行显示,而我们的程序目前只能在某个固定的位置显示一幅图像,它根本就不能动。不要灰心,接下来就想办法让它动起来。

图1.7 显示图像的程序界面