Pygame中Sprite的使用方法6-5
3 碰撞检测
蓝色方块会随着鼠标移动,当碰到绿色方块时,则当前分数加1,当碰到红色方块时,当前分数减1。因为要随时进行碰撞检测,因此需要在while True循环中实现以下功能。
3.1 蓝色方块随鼠标移动
将蓝色方块的位置设置为鼠标的位置,即可以实现蓝色方块随鼠标移动,代码如下所示。
pos = pygame.mouse.get_pos()
player.rect.x = pos[0]
player.rect.y = pos[1]
其中,通过pygame.mouse.get_pos()获取鼠标的当前位置,并将鼠标的横坐标pos[0]赋值给蓝色方块的x坐标player.rect.x,鼠标的纵坐标pos[1]赋值给蓝色方块的y坐标player.rect.y。
3.2 检测蓝色方块是否碰撞到绿色方块
3.2.1 pygame.sprite.spritecollide()方法
通过pygame.sprite.spritecollide()方法来实现碰撞检测。该方法的使用格式为
spritecollide(sprite, group, dokill, collided=None)
其中,第一个参数sprite表示碰撞的Sprite实例;第二个参数是一个Group实例,在该Group中包含了多个Sprite实例,也就是说,判断第一个参数sprite与第二个参数group中包含的多个Sprite实例是否进行了碰撞;dokill是一个布尔类型的参数,该参数是True时表示将发生碰撞的实例从第二个参数group中删除,False表示不删除;第四个餐宿collided是一个回调方法,当两个Sprite实例发生碰撞时,调用该方法,默认是None。spritecollide()方法的返回值是一个列表,包含了在第二个参数group中与第一个参数spirte发生碰撞的Sprite实例。
3.2.2 相关代码
通过pygame.sprite.spritecollide()方法来判断蓝色方块是否与绿色方块碰撞的代码如下所示。
blocks_hit_list = \pygame.sprite.spritecollide(player, block_list, True)for block in blocks_hit_list:score += 1print('当前分数为:'+str(score))
其中,player是表示鼠标的蓝色方块;block_list包含了所有绿色方块的Group实例,因为在碰撞发生后,被碰撞的绿色方块要消失,因此,把spritecollide()方法的第三个参数设置为True。发生碰撞的方块就保存在blocks_hit_list中,最后对分数score进行加1处理,并显示。
3.3 检测蓝色方块是否碰撞到红色方块
检测蓝色方块是否碰撞到红色方块的原理与碰撞绿色方块类似,代码如下所示。
blocks_hit_list = \pygame.sprite.spritecollide(player, block_bad_list, True)for block in blocks_hit_list:score -= 1print('当前分数为:'+str(score))
其中,block_bad_list是保存红色方块的group。当发生碰撞时,对分数score进行减1处理,并显示。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
Pygame中Sprite的使用方法6-5
3 碰撞检测 蓝色方块会随着鼠标移动,当碰到绿色方块时,则当前分数加1,当碰到红色方块时,当前分数减1。因为要随时进行碰撞检测,因此需要在while True循环中实现以下功能。 3.1 蓝色方块随鼠标移动 将蓝色方块的位置…...
![](https://img-blog.csdnimg.cn/7ef9f81898134c3ab1255554c8824362.png)
浅谈为什么多态只能是指针或引用
其实在很早之前,我一直没有注意到这个问题,直到今天碰见了一道题,顺便前面的博客中,继承写到,子类中不包含父类,子类只是继承了父类的成员变量和函数,由这一点,引发了我对切片以及赋…...
![](https://www.ngui.cc/images/no-images.jpg)
js看代码说输出
目录 原型 Function与Object new fn() 原型链 constructor function.length 默认参数:第一个具有默认值之前的参数个数 剩余参数:不算进length 闭包 循环中 函数工厂:形参传递 IIFE:匿名闭包 let:闭包 forEach()&am…...
![](https://www.ngui.cc/images/no-images.jpg)
Java笔记:使用javassist修改class文件内方法
1.前言 在工作突然有一个需求。线上运维的一个tomcat的web项目,运行的程序不正常。需要修改代码。可是这个项目代码非常的老,并且公司存储的源代码跟线上的不一致。 我了个擦,没有源代码但是还要结局客户的问题。只能到线上将对应程序的clas…...
![](https://img-blog.csdnimg.cn/37300bd5eefe4ec3a8b13d759333dcaf.png)
华为云云耀云服务器L实例评测 |云服务器性能评测
通过上一篇文章华为云云耀云服务器 L 实例评测 |云服务器选购,我已经购买了一台 Centos 系统的云耀云服务器 L 实例。 在获得云耀云服务器 L 实例后,首要任务是熟悉云耀云服务器 L 实例的性能,对云耀云服务器 L 实例的性能进行测…...
![](https://img-blog.csdnimg.cn/7a299db3cae84b6194c514f021d31d71.png)
iphone的safari浏览器实现全屏的pwa模式,并修改顶部状态栏背景颜色
要想修改顶部背景颜色,需要用到这个属性:content就是你要设置的颜色 <!-- 状态栏的背景色 --><meta name"theme-color" content"#f8f8f8" /> 然后再加上下面的设置: <!-- 网站开启对 web app 程序的支持…...
![](https://img-blog.csdnimg.cn/81b31a89f4394372b762d66ed627c1e1.png)
springboot对接rabbitmq并且实现动态创建队列和消费
背景 1、对接多个节点上的MQ(如master-MQ,slave-MQ),若读者需要自己模拟出两个MQ,可以部署多个VM然后参考 docker 安装rabbitmq_Steven-Russell的博客-CSDN博客 2、队列名称不是固定的,需要接受外部参数&…...
![](https://img-blog.csdnimg.cn/e3b3abff1e264665889083c72d3cf6c7.png)
Spring的后处理器-BeanFactoryPostprocessor
目录 Spring后处理器 Bean工厂后处理器-BeanFactoryPostProcessor 修改beanDefinition对象 添加beanDefiniton对象 方法一 方法二 自定义Component Spring后处理器 Spring后处理器是Spring对外开放的重要拓展点(让我们可以用添加自己的逻辑)&…...
![](https://img-blog.csdnimg.cn/ca2972144d154c8d9a9b3013afd3e031.png)
Flutter 必备知识点
Flutter 升级 确保在项目根目录下(含有 pubspec.yaml 的文件夹) 在命令行中输入命令: flutter channel输出: Flutter channels: * mastermainbetastable这个可以在 pubspec.yaml 中查看: 切换分支也很简单…...
![](https://img-blog.csdnimg.cn/img_convert/034f77852e60a18b7e8b0e858c7fab81.png)
什么是FMEA(失效模式和影响分析)?
失效模式和影响分析(FMEA)是一个在开发阶段,用于确定产品或流程可能的风险和失败点的有条理的过程。FMEA团队会研究失效模式,也就是产品或流程中可能出错的地方,以及这些失效可能带来的影响(如风险、损害、…...
![](https://www.ngui.cc/images/no-images.jpg)
Redis面试题(三)
文章目录 前言一、怎么理解 Redis 事务?二、Redis 事务相关的命令有哪几个?三、Redis key 的过期时间和永久有效分别怎么设置?四、Redis 如何做内存优化?五、Redis 回收进程如何工作的?六、 加锁机制总结 前言 怎么理…...
![](https://www.ngui.cc/images/no-images.jpg)
Python错误处理指南:优雅应对异常情况
目录 一. 异常是什么?二. 使用 try 和 except三. 捕获多个异常四. 使用 else五. 使用 finally六. 自定义异常七.Python中常见异常处理类型八.Python中常见异常处理实例九.异常处理最佳实践十.结论 当编写Python代码时,错误处理是一个重要的方面ÿ…...
![](https://img-blog.csdnimg.cn/6fa47d50d16b4265a06aa2037d2f944d.png)
MySQL学习笔记12
MySQL 查询语句: 1、查询五子句:(重点) mysql> select */字段列表 from 数据表名称 where 子句 group by 子句 having 子句 order by 子句 limit 子句; 1)where 子句;条件筛选。 2)group…...
![](https://img-blog.csdnimg.cn/4415d444eefc4be1ac19ccfd66049c65.png)
【owt】构建m79的owt-client-native:使用vs2017
家里电脑换成了台式机,拷贝代码发现了三年前的owt客户端mfc工程。 不用下载第三方库,试着构建下: owt-client-native 我这里有3年前的代码,思索了下还是用vs2017构建吧: 重新构建一下 选用x86 的 vs2017 vs的命令行控制台 cls可以清理屏幕 之前构建过vs2022的webrtc原版 …...
![](https://img-blog.csdnimg.cn/f330d79a95684866915dfc8cc6042e5a.png)
Cpp/Qt-day020918Qt
目录 完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两…...
![](https://img-blog.csdnimg.cn/6ee6699663814260810c37021a308ff6.png)
Spring面试题10:Spring的XMLBeanFactory怎么使用
该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring的XMLBeanFactory怎么使用 XmlBeanFactory是Spring框架中的一个实现类,它是BeanFactory接口的一个具体实现。XmlBeanFactory的主要作用是通…...
![](https://img-blog.csdnimg.cn/f197bc5bf465436dbab5a9ceb324b3a3.gif)
自定义数据类型
前言:小伙伴们又见面啦,今天这篇文章,我们来谈谈几种自定义数据类型。 目录 一.都有哪些自定义数据类型 二.结构体 结构体内存对齐 1.如何对齐 2.为什么要对齐 3.节省空间和提升效率的方法 (1)让占用空间小的成员…...
![](https://www.ngui.cc/images/no-images.jpg)
产品团队的需求验证和确认
需求核实过程是确保软件满足特定的规格要求,而验证则侧重于软件是否达到了最终用户的期望和需求。 如果你正在开发一种医疗产品,这种区别也可能在法规和标准中有所体现,例如: 820.30(f):设计验证应确认设计的成果符合…...
![](https://img-blog.csdnimg.cn/img_convert/5660a30fac52af16491f3f25d042c255.png)
【JVM】类加载的过程
文章目录 类的生命周期加载验证准备解析初始化简要概括 类的生命周期 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载 (Loading)、验证(Verification)、准备…...
![](https://www.ngui.cc/images/no-images.jpg)
Golang 结构化日志包 log/slog 详解(四):分组、上下文和属性值类型
上一篇文章讲解了 log/slog 包中的自定义日志属性字段和日志级别,本文讲解下分组、上下文和属性值类型 分组输出 slog 支持将字段放在组中并且可以给分组指定名称。如何展示分组的内容,取决于使用的 handler,例如 TextHandler 使用点号分隔…...
![](https://img-blog.csdnimg.cn/img_convert/692b7d2d81161a0bc2d3d71d05241e8c.jpeg)
小白学Python:提取Word中的所有图片,只需要1行代码
#python# 大家好,这里是程序员晚枫,全网同名。 最近在小破站账号:Python自动化办公社区更新一套课程:给小白的《50讲Python自动化办公》 在课程群里,看到学员自己开发了一个功能:从word里提取图片。这个…...
![](https://www.ngui.cc/images/no-images.jpg)
pip修改位于用户目录下的缓存目录
默认 pip 缓存目录: Windows: C:\Users\${用户名}\AppData\Local\pip\cache Linux: ~/.cache/pip 一、修改方式 1.命令方式 pip config set global.cache-dir "D:\kwok\data\pip-cache" 2.配置文件方式 ① Windows: C:\Users\${用…...
![](https://img-blog.csdnimg.cn/8caa0f0d89a049ffa19da943791e7953.png)
更新、修改
MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 语法: update 表名 列名该列新值, 列名该列新值, ... where 记录匹配条件; 说明:update 更新、修改 set 设置 …...
![](https://img-blog.csdnimg.cn/89abcad1102342b7bc757fbf89adfb7b.png)
山西电力市场日前价格预测【2023-09-25】
日前价格预测 预测说明: 如上图所示,预测明日(2023-09-25)山西电力市场全天平均日前电价为442.30元/MWh。其中,最高日前电价为720.46元/MWh,预计出现在19: 00。最低日前电价为276.06元/MWh,预计…...
![](https://www.ngui.cc/images/no-images.jpg)
从collections库的Counter类看items()方法和enumerate()方法
下面的代码是针对文件的词频统计,使用了collections库及其Counter类 import collections def count_word_frequency(text): words text.lower().split() word_counts collections.Counter(words) return word_counts def count_fileword_frequency(fi…...
![](https://www.ngui.cc/images/no-images.jpg)
2023-09-24 LeetCode每日一题(LRU 缓存)
2023-09-24每日一题 一、题目编号 146. LRU 缓存二、题目链接 点击跳转到题目位置 三、题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存i…...
![](https://img-blog.csdnimg.cn/09e44626c221484ba3c80edddd945abb.png#pic_center)
《计算机视觉中的多视图几何》笔记(10)
10 3D Reconstruction of Cameras and Structure 本章主要描述了如何利用2张图片来恢复相机的参数以及物体在三维空间中的形状。 文章目录 10 3D Reconstruction of Cameras and Structure10.1 Outline of reconstruction method10.2 Reconstruction ambiguity10.3 The proje…...
![](https://img-blog.csdnimg.cn/0e8bac2efcb645f2a02e1e29978527fd.png)
【一、虚拟机vmware安装】
安装虚拟机 下载 官方下载地址:https://www.vmware.com/cn.html 大概流程就是,最重要的事最后一步...
![](https://img-blog.csdnimg.cn/baf695e43bd74c74b4e4c39b98345377.png)
uniapp 离线打包 plus.runtime.install 安装页面不弹起
uniapp 离线打包 plus.runtime.install 安装页面不弹起 updateVersion(webview : any, eventTitle : string, eventContent : string) {const loading plus.nativeUI.showWaiting(准备下载);var dtask plus.downloader.createDownload(eventContent,{method: GET,timeout: 5…...
![](https://img-blog.csdnimg.cn/e3ed7ab0794643268e4e87c76929ad61.png)
Docker 自动化部署(保姆级教程)
Docker 自动化部署 1. jenkins 介绍1.1 参考链接:1.2 jenkins 概述1.3 jenkins部署项目的流程 2. jenkins 安装2.1 基于docker 镜像2.2 启动 jenkins 后端服务2.3 登录 jenkins 服务后端 3. jenkins自动化部署开始3.1 下载需要的插件3.2 创建任务3.2.1 描述3.2.2 配…...
![](/images/no-images.jpg)
国外扁平化网站/编写网页的软件
关于VIEW 登陆后 键盘无法输入的问题。主要因为使用了360防火墙的缘故! PCOIP为VMware私有协议,不在360信任列表。使用RDP方式没有此问题。 解决方法有两种:1.打开360安全卫士,进入木马防火墙————关闭键盘记录防护 ÿ…...
![](/images/no-images.jpg)
网站的成功案例/达州seo
昨天是一个值得庆祝的日子,妈妈出院了。昨天晚上忙着看纪录片《圆明园》,所以没写下什么。 到现在还记得95年的那个夏天,我住在姐姐家,后来妈妈住院了,得了风心病,当时插了氧气,很严重。到冬天的…...
建设网站交纳党费/怎么建自己的网站?
用SQL Server2005同义词链接Oracle数据库可以将Oracle中的表,视图等映射到SQL2005中,直接在SQL2005中操作Oracle的数据,非常简单方便。 下面具体一部一部讲解如何实现的。 环境:Windows2005SQL2005,数据库名字为amd Or…...
![](/images/no-images.jpg)
深圳网站制作与建设公司/免费网络营销软件
####定义AOP,面向领域编程,是在不修改源代码的情况下,通过编译时或者运行时的代码修改来实现改变程序功能的目的。####问题和实现例如如何在c#中实现类似于python的方法装饰器的功能呢?fody这个库,通过修改编译好的dll…...
![](/images/no-images.jpg)
做网站需要写程序/江苏网站建站系统哪家好
使用情景如下:在访问 http://www.ehotel.com/admin/admin/hycgl.html 的时候、跳转到 http://www.ehotel.com/admin/index.php/admin/hycgl.html ;在访问 http://www.ehotel.com/的时候、跳转到 http://www.ehotel.com/index.php/;//nginx.c…...
![](/images/no-images.jpg)
克拉玛依建设局网站6/软件开发公司排名
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396415 右击项目——properties——projectFacets——激活或者直接选择dynamic web那一项。应用即可。 参考:https://dzone.com/articl…...