- 趣学Python游戏编程
- 何青
- 422字
- 2022-07-27 19:43:56
1.4.3 朝其他方向移动
目前虽然程序已经实现了移动小球,可小球只是一直朝着右边移动,假如想要它朝左边、下边或者上边移动,又该如何实现呢?
首先可以确定,需要对update()函数中的代码进行修改,因为改变小球移动方向其实就是修改小球的坐标,这属于更新游戏逻辑的操作,所以无须对draw()函数进行改变。
目前小球之所以朝右边移动,是因为当初的update()函数中是这样的语句:

它表示游戏循环每执行一次,小球的x坐标都会增加1个单位。因此随着游戏循环的不断运行,小球的x坐标值会不断增大,小球与窗口左边界的距离也会越来越大,从而看起来就像是小球向右边移动。类似地,若想让小球向左移动,只需要不断地减少小球的x坐标值即可,代码如下:

相应地,让小球向下移动,则增加小球的y坐标值:

让小球向上移动,则减少小球的y坐标值:

如果想让小球斜着移动,例如从左上朝右下移动怎么办呢?此时可以同时改变小球的x和y坐标值。代码如下:

练习:
是否明白了呢?不妨动手试一下,若要小球从右上朝左下移动,应该如何修改代码呢?