2.通过update()函数让小车动起来
在《玩游戏学Python5-函数》中提到,pgzero库的update()函数的主要作用是更新游戏数据的,由pgzero库1秒钟之内自动调用60次。可以在该函数中改变小车Actor的位置。
2.1 Actor的位置属性
让小车动起来,其实就是在update()函数中修改汽车Actor的位置属性。如图5所示。

图5 汽车Actor的位置属性
其中,汽车图片的中心位置坐标为(x, y);汽车图片左侧边缘到y轴的距离是left,右侧边缘到y轴的距离为right。在update()函数中,通过修改x、left或者right中的任意一个属性,就改变了汽车的位置,也就能让汽车动起来。
2.2 修改汽车Actor的right属性
以汽车Actor的right属性为例,让汽车动起来的代码如图6所示。

图6 修改car的right属性让汽车动起来
其中,pgzero库每调用一次update()函数,汽车car的right属性就会在自己原先值的基础上加1,也就是朝右边移动1个像素。代码运行效果如图7所示。

图7 代码运行效果
2.3 Python的基本数据类型-浮点型
在《玩游戏学Python3-整型》和《玩游戏学Python4-字符串》中提到了Python四种基本数据类型中的整型和字符串型。浮点型实际上就是小数,用float表示。使用浮点型数据的代码如图8所示。

图8 浮点型变量的定义
其中,a、b、c都是浮点型变量。
在汽车移动的代码中,可以定义一个浮点型变量表示汽车移动的速度,之后在update()中使用该速度来修改car.right,代码如图9所示。


图9 使用浮点型修改car.right的代码
其中,第12行代码定义的car_speed表示汽车行驶的速度;第27行代码中,每次调用update()函数,car.right属性就会增加car_speed值。car_speed值越大,汽车行驶的速度就越快。以上代码运行后,可以明显看出,汽车的速度比图6所示代码变快了。