欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > Pygame实现射击鸭子游戏3-2

Pygame实现射击鸭子游戏3-2

2025/3/13 3:34:50 来源:https://blog.csdn.net/hou09tian/article/details/146145465  浏览:    关键词:Pygame实现射击鸭子游戏3-2

2 鸭子类Target的创建

2.1  __init__()函数

Target类的__init__()函数代码如图5所示。

图5 __init__()函数代码

其中,第18行将Target类声明为pygame.sprite.Sprite类的子类;第19行代码中,__init__()函数的img_path参数表示鸭子图片的文件名,x和y表示鸭子起始位置的横纵坐标;第20行代码调用pygame.sprite.Sprite类的__init__()进行初始化操作;第21行代码导入鸭子图片;第22行代码获取鸭子图片的位置和大小;第23行代码根据指定的位置设置鸭子的起始位置。

2.2 update()函数

Target类的update()函数代码如图6所示。

图6 update()函数代码

Target类的update()函数的作用是让鸭子游动起来。鸭子是从屏幕左边向右边水平移动的,所以只需要改变其横坐标即可,纵坐标可以不变。第25行代码通过rect.move_ip()方法改变鸭子的横坐标,random.randint(0,10)表示鸭子的速度是一个0-10之间的随机数;第26-27行代码判断鸭子是否已经游到屏幕的右侧边缘,如果已经游到边缘,则将其左上角的横坐标rect.left设置为0,表示将其位置恢复到屏幕左侧边缘。

3 实例化瞄准镜类及创建相应的精灵组

实例化瞄准镜类及创建相应的精灵组的代码如图7所示。

图7 实例化瞄准镜类及创建相应的精灵组的代码

其中,第42行代码实例化了瞄准镜类Crosshair,其实例名为crosshair,“crosshair_blue_small.png”是瞄准镜的文件名;第43行代码通过pygame.sprite.Group()创建了精灵组crosshair_group;第44行代码将实例crosshair加入到精灵组crosshair_group中。

4 实例化鸭子类及创建相应的精灵组

实例化鸭子类及创建相应的精灵组的代码如图8所示。

图8 实例化鸭子类及创建相应的精灵组的代码

其中,第46行代码创建用于保存鸭子精灵的精灵组target_group;第47行使用for循环创建TARGET_NUM个鸭子;第48-49行代码随机设置鸭子的横纵坐标;第50行代码实例化鸭子类,“duck_yellow.png”是鸭子图片的文件名;第51行代码将创建的鸭子实例精灵加入到精灵组中。

5 导入背景

导入背景的代码如图9所示。

图9 导入背景的代码

其中,第39行代码通过pygame.image.load()导入背景图片;第40行代码将背景图片设置为屏幕大小,pygame.transform.scale()函数的作用是设置图片大小,bg_img表示要设置的图片,(SCREEN_WIDTH, SCREEN_HEIGHT)表示要设置的大小,即为屏幕的宽度和高度。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词