当前位置: 首页 > news >正文

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)表示要设置的大小,即为屏幕的宽度和高度。

相关文章:

  • 根据 GPU 型号安装指定 CUDA 版本的详细步骤(附有CUDA版本对应torch版本的表格)
  • 策略模式和责任链模式的区别
  • C语言刷题第五章(下)
  • 道路运输安全员考试备考:循序渐进,稳步提升
  • 手机遥控开关技术解析与应用指南
  • 【随手笔记】中移4G记录(ML307R)
  • AutoGen学习笔记系列(十二)Advanced - Memory
  • openai-cua-sample-app - 使用计算机的 Agent示例应用
  • 我与DeepSeek读《大型网站技术架构》(11)- 海量分布式存储系统Doris的高可用架构设计分析
  • ima 知识库,重新定义你的「成长加速器」
  • Github 2025-03-11 Python开源项目日报Top10
  • Bash和Zsh在处理大文件时差异
  • 设计模式C++
  • ArcGIS水文水资源水环境应用实战:从入门到精通!ArcGIS水文分析及流域特征提取;湖泊水库水环境监测及评价;河道水污染预测与水环境容量计算等
  • 《黑客攻防从入门到精通:工具篇》全15章万字深度总结——从工具解析到实战攻防,构建完整网络安全知识体系
  • Java 8 Stream 面试题
  • win32汇编环境,对 WM_MOUSEMOVE 消息的理解
  • 运维新手入门——线缆的使用(Beginner‘s Guide to Operations and Maintenance - Cable Usage)
  • 七大常用智能家居协议对比
  • Spring Boot + MySQL + MyBatis:企业级应用开发实战
  • 来沪一个月几乎未花住宿钱,女子虚构卫生问题屡薅酒店羊毛被刑拘
  • 外企聊营商|特雷通集团:税务服务“及时雨”
  • 125%→10%、24%税率暂停90天,对美关税开始调整
  • 一手实测深夜发布的世界首个设计Agent - Lovart。
  • 线下哪些商家支持无理由退货?查询方法公布
  • 中国一重集团有限公司副总经理陆文俊被查