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

1.2.2 改变窗口大小和颜色

首先解决窗口尺寸问题。在Pgzero中,通过定义两个常量值来确定程序窗口的大小,代码如下所示:

注意WIDTH和HEGIHT是Pgzero预设的两个常量,分别用来表示程序窗口的宽度和高度值(单位为像素)。上面的代码表示将程序窗口的宽度值设为500像素,高度设为300像素。我们将这两行代码输入刚刚新建的源程序文件中,然后再次运行一下,可以看到窗口的大小发生了改变。

接下来试着改变一下窗口的背景颜色。在Pgzero中,窗口的背景颜色默认是黑色(原来如此),若要改变背景颜色,需要在程序中定义一个draw()函数。那么这个draw()函数又是个什么来头呢?

draw()函数是Pgzero的“幕后主使”之一,它负责显示游戏中的各种图形或图像。只需在程序中定义自己的draw()函数,然后将需要绘制图形图像的代码写进draw()函数中,程序便会自动地执行draw()函数进行显示。

那么,要改变窗口的颜色,究竟要在draw()函数中编写什么代码呢?此时还需要借助Pgzero提供的内置对象screen来完成。事实上,Pgzero为了简化游戏编程,在内部设置了很多的对象来协助完成游戏中的各项操作。screen对象主要就是用来在窗口绘图的,它提供了很多的绘图方法,不仅能够绘制图形和图像,还能绘制文字信息,在后面的游戏编程中还会经常使用到它。

目前需要使用的是screen对象的fill()方法,它表示用某种颜色来填满整个窗口。该方法接受一个RGB元组作为参数。那什么是RGB元组呢?

说明:

了解Python的朋友可能对元组并不陌生,元组就是由一对小括号括起来的一组数值。

RGB元组是由三个数所组成的元组,每一个数代表一个颜色分量。具体来说,第一个数代表红色R(Red),第二个数代表绿色G(Green),第三个数代表蓝色B(Blue),每个数的取值范围从0到255。这其实就是我们熟知的三原色,各种颜色都可以由红绿蓝三种基本颜色混合而成,相应地,可以改变RGB元组中三个数的值来获取不同的颜色。例如(255,0,0)表示红色,(0,255,0)表示绿色,(0,0,255)表示蓝色,(0,0,0)代表黑色,(255,255,255)代表白色等(感兴趣的朋友可以去网上查找某个颜色对应的RGB值)。

了解相关知识后,可以在源代码中加入以下两行代码:

保存并运行程序,可以看到如图1.5所示的界面。没错,我们的窗口背景变成了白色。

图1.5 改变背景颜色后的程序窗口

练习:

可以试试改动fill()方法中传入的RGB数值,看看会显示什么不一样的背景颜色。