实践作业13—跳跃篮球

实验目的:制作出一个跳跃的篮球游戏

要求:创建-一个游戏窗口,然后在窗口内创建-一个小球。以--定的速度移动小球,当小球碰到游戏窗口的边缘时,小球弹回,继续移动。

步骤一:创建一个游戏窗口,宽和高设置为640*480

 步骤二:运行上述代码,会出现一个一闪而过的黑色窗口,这是因为程序执行完成后,会自动关闭。如果让窗口一直显示,需要使用while True让程序一直执行,此外,还需要设置关闭按钮。具体代码如下

步骤三:在窗口中添加小球。我们先准备好一张篮球.png图片,然后加载该图片,最后将图片显示在窗口中,(tip:原先图片过于大,因此先缩小了图片的尺寸再进行)

步骤四:下面该让小球动起来了。ball.get_ rect() 方法返回值ballrect是- 一个Rect对象,该对象有一一个move()方法可以用于移动矩形。move(x,y)函数有两个参数,第一个参数是X轴移动的距离,第二个参数是Y轴移动的距离。窗体左上角坐标为(0,0),如果设置move(100,50),小球移动后的坐标位置如图所示。

 步骤五:运行上述代码,发现小球在屏幕中一闪而过,此时,小球并没有真正消失,而是移动到窗体之外,此时需要添加碰撞检测的功能。当小球与窗体任一边缘发生碰撞,则更改小球的移动方向。具体代码如下:

 

 步骤六:上述代码发现好像有多个小球在飞快移动,这是因为运行上述代码的时间非常短,导致肉眼观察出现错觉,因此需要添加一一个“时钟”来控制程序运行的时间。这时就需要使用Pygame的time模块。使用Pygame时钟之前,必须先创建Clock对象的一个实例,然后在while循环中设置多长时间运行一- 次。具体代码如下:

 

posted @ 2022-12-01 20:27  麒麟i  阅读(110)  评论(0)    收藏  举报