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

Pygame中Sprite类的使用2

4 让僵尸动起来

让僵尸能够动起来,也就是让僵尸从屏幕右边走到屏幕左边,此时只需要使用while循环,改变僵尸图片的x轴坐标即可,代码如下所示。

while True:screen.fill((255,255,255))z1.rect.x -= 5z1.draw(screen)z1.update()if z1.rect.x<=0:break

其中,每次显示僵尸时,首先通过screen调用fill()方法将屏幕背景重新设置为白色,掩盖僵尸移动前的影像;之后将z1的rect的x每次减5,表示每次循环僵尸向左侧移动5个单位,之后就是通过draw()和update()来绘制并且在新位置上显示僵尸;最后当僵尸移动到屏幕的最左侧时,跳出循环,此时僵尸停止移动。

5 设置移动速度

运行“4 让僵尸动起来”中提到的代码,此时可以看到僵尸移动的速度非常快。可以通过pygame的time模块中的Clock类通过控制游戏帧速率来控制僵尸的移动速度。

5.1 游戏帧速率

游戏帧速率指的是每秒所运行的帧数(FPS:Frames Per Second),是评价游戏画面是否流畅的关键指标。while循环每执行一次,则有一次僵尸的绘画。每绘画一次,就是一帧。可以通过pygame的time模块中的Clock类来设置FPS,来控制僵尸移动的速度。

5.2 设置FPS

首先,在程序主程序的起始处(while循环之前)定义Clock类的实例,代码如下所示。

clock = pygame.time.Clock()

之后,在while循环的内部,来设置FPS的值,代码如下所示。

clock.tick(10)

tick()函数的作用是设置FPS的值,参数10表示FPS的值10,即每秒所运行的帧数不超过10次,也就是保证了while循环每秒只能循环10次。此时再运行程序,可以看到僵尸的移动速度已经减慢了。

6 完整代码

import pygame, os
from pygame.locals import *class Zombie(pygame.sprite.Sprite):def __init__(self, x, y):super().__init__()self.image = pygame.image.load('1.png')self.rect = self.image.get_rect()self.rect.x = xself.rect.y = ydef draw(self, screen):screen.blit(self.image, self.rect)def update(self):pygame.display.update()pygame.init()
screen = pygame.display.set_mode((400, 500))
screen.fill((255,255,255))
clock = pygame.time.Clock()
z1 = Zombie(350, 80)
z1.draw(screen)
z1.update()
while True:screen.fill((255,255,255))z1.rect.x -= 5z1.draw(screen)z1.update()if z1.rect.x<=0:breakclock.tick(10)
pygame.quit()

相关文章:

Pygame中Sprite类的使用2

4 让僵尸动起来 让僵尸能够动起来&#xff0c;也就是让僵尸从屏幕右边走到屏幕左边&#xff0c;此时只需要使用while循环&#xff0c;改变僵尸图片的x轴坐标即可&#xff0c;代码如下所示。 while True:screen.fill((255,255,255))z1.rect.x - 5z1.draw(screen)z1.update()if…...

排队时延与流量强度

流量强度 设R为传输速率&#xff0c;a表示分组到达队列的平均速率&#xff0c;假定所有分组都是由L比特组成的&#xff0c;则比特到达队列的平均速率为La。比率 L a R \frac{La}{R} RLa​被成为流量强度。 根据流量强度的定义&#xff0c;我们可以很直观的得出以下结论&#x…...

mysql:如何设计互相关注业务场景

目录 业务场景 业务问题&#xff1a; 数据库表设计&#xff1a; like&#xff08;关注表&#xff09;&#xff1a; friend&#xff08;朋友表&#xff09; 并发场景下&#xff0c;SQL语句执行逻辑 比较 A 和 B 的大小&#xff0c;如果 A执行下面的逻辑&#xff1a;<&…...

AI伦理:科技发展中的人性之声

文章目录 AI伦理的关键问题1. 隐私问题2. 公平性问题3. 自主性问题4. 伦理教育问题 隐私问题的拓展分析数据收集和滥用隐私泄露和数据安全 公平性问题的拓展分析历史偏见和算法模型可解释性 自主性问题的拓展分析自主AI决策伦理框架 伦理教育的拓展分析伦理培训 结论 &#x1f…...

Direct3D光照

光照的组成 环境光&#xff1a;这种类型的光经其他表面反射到达物体表面&#xff0c;并照亮整个场景&#xff0c;要想以较低代价粗略模拟这类反射光&#xff0c;环境光是一个很好的选择 漫射光&#xff1a;这种类型光沿着特定的方向传播。当它到达某一表面时&#xff0c;将沿…...

编程语言排行榜

以下是2023年的编程语言排行榜&#xff08;按照流行度排序&#xff09;&#xff1a; Python&#xff1a;Python一直以来都是非常受欢迎的编程语言&#xff0c;它简洁、易读且功能强大。在数据科学、机器学习、人工智能等领域有广泛应用。 JavaScript&#xff1a;作为前端开发…...

基于语雀编辑器的在线文档编辑与查看

概述 语雀是一个非常优秀的文档和知识库工具&#xff0c;其编辑器更是非常好用&#xff0c;虽无开源版本&#xff0c;但有编译好的可以使用。本文基于语雀编辑器实现在线文档的编辑与文章的预览。 实现效果 实现 参考语雀编辑器官方文档&#xff0c;其实现需要引入以下文件&…...

开箱报告,Simulink Toolbox库模块使用指南(六)——S-Fuction模块(TLC)

文章目录 前言 Target Language Compiler&#xff08;TLC&#xff09; C MEX S-Function模块 编写TLC文件 生成代码 Tips 分析和应用 总结 前言 见《开箱报告&#xff0c;Simulink Toolbox库模块使用指南&#xff08;一&#xff09;——powergui模块》 见《开箱报告&am…...

Kafka详解

目录 一、消息系统 1、点对点的消息系统 2、发布-订阅消息系统 二、Apache Kafka 简介 三、Apache Kafka基本原理 3.1 分布式和分区&#xff08;distributed、partitioned&#xff09; 3.2 副本&#xff08;replicated &#xff09; 3.3 整体数据流程 3.4 消息传送机制…...

rabbitmq+springboot实现幂等性操作

文章目录 1.场景描述 1.1 场景11.2 场景2 2.原理3.实战开发 3.1 建表3.2 集成mybatis-plus3.3 集成RabbitMq 3.3.1 安装mq3.3.2 springBoot集成mq 3.4 具体实现 3.4.1 mq配置类3.4.2 生产者3.4.3 消费者 1.场景描述 消息中间件是分布式系统常用的组件&#xff0c;无论是异…...

ubuntu server 更改时区:上海

1. 打开终端&#xff0c;在命令行中以超级用户或具有sudo权限的用户身份运行以下命令&#xff1a; sudo dpkg-reconfigure tzdata 这会打开一个对话框&#xff0c;用于选择系统的时区设置。 2. 在对话框中&#xff0c;使用上下箭头键在地区列表中选择"Asia"&#x…...

java 整合 swagger-ui 步骤

1.在xml 中添加Swagger 相关依赖 <!-- springfox-swagger2 --><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><!-- springfox-swa…...

介绍两款生成神经网络架构示意图的工具:NN-SVG和PlotNeuralNet

对于神经网络架构的可视化是很有意义的&#xff0c;可以在很大程度上帮助到我们清晰直观地了解到整个架构&#xff0c;我们在前面的 PyTorch的ONNX结合MNIST手写数字数据集的应用(.pth和.onnx的转换与onnx运行时) 有介绍&#xff0c;可以将模型架构文件(常见的格式都可以)在线上…...

iOS IdiotAVplayer实现视频分片缓存

文章目录 IdiotAVplayer 实现视频切片缓存一 iOS视频边下边播原理一 分片下载的实现1 分片下载的思路2 IdiotAVplayer 实现架构 三 IdiotAVplayer 代码解析IdiotPlayerIdiotResourceLoaderIdiotDownLoader IdiotAVplayer 实现视频切片缓存 一 iOS视频边下边播原理 初始化AVUR…...

SpringBootWeb请求-响应

HTTP请求 前后端分离 在这种模式下&#xff0c;前端技术人员基于"接口文档"&#xff0c;开发前端程序&#xff1b;后端技术人员也基于"接口文档"&#xff0c;开发后端程序。 由于前后端分离&#xff0c;对我们后端技术人员来讲&#xff0c;在开发过程中&a…...

List集合详解

目录 1、集合是什么&#xff1f; 1.1、集合与集合之间的关系 2、List集合的特点 3、遍历集合的三种方式 3.1、foreach(增强佛如循环遍历) 3.2、for循环遍历 3.3、迭代器遍历 4、LinkedList和ArrayList的区别 4.1、为什么ArrayList查询会快一些&#xff1f; 4.2、为什么LinkedLi…...

投稿指南【NO.12_8】【极易投中】核心期刊投稿(组合机床与自动化加工技术)

近期有不少同学咨询投稿期刊的问题&#xff0c;大部分院校的研究生都有发学术论文的要求&#xff0c;少部分要求高的甚至需要SCI或者多篇核心期刊论文才可以毕业&#xff0c;但是核心期刊要求论文质量高且审稿周期长&#xff0c;所以本博客梳理一些计算机特别是人工智能相关的期…...

解决git无法上传大文件(50MB)

解决方法 使用LFS解决GitHub无法上传大于50MB的文件 LFS简介 Git LFS&#xff08;Large File Storage&#xff09;是 Git 的一个扩展&#xff0c;用于管理大型文件&#xff0c;如二进制文件、图像、音频和视频文件等。它的主要目的是解决 Git 对大型二进制文件的版本控制和存…...

用递归实现字符串逆序(不使用库函数)

文章目录 前言一、题目要求二、解题步骤1.大概框架2.如何反向排列&#xff1f;3.模拟实现strlen4.实现反向排列5.递归实现反向排列 总结 前言 嗨&#xff0c;亲爱的读者们&#xff01;我是艾老虎尤&#xff0c;今天&#xff0c;我们将探索一个题目&#xff0c;这个题目对新手非…...

初学python(一)

一、python的背景和前景 二、 python的一些小事项 1、在Java、C中&#xff0c;2 / 3 0&#xff0c;也就是整数 / 整数 整数&#xff0c;会把小数部分舍掉。而在python中2 / 3 0.66666.... 不会舍掉小数部分。 在编程语言中&#xff0c;浮点数遵循IEEE754标准&#xff0c;不…...

为什么你需要m4s-converter:让B站缓存视频重获自由的秘密武器

为什么你需要m4s-converter&#xff1a;让B站缓存视频重获自由的秘密武器 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经遇到过这样的…...

计算机视觉与3D重建:模型加速与质量优化的全栈实践

1. 项目概述&#xff1a;当计算机视觉遇见效率与精度革命最近&#xff0c;微软研究院在计算机视觉领域的两项进展引起了我的注意。一项是关于如何让模型“看”得更快更准&#xff0c;另一项则是关于如何让3D扫描模型从“毛坯”变成“精装”。这听起来像是两个独立的方向&#x…...

基于eBPF的系统调用监控:原理、部署与性能调优实战

1. 项目概述&#xff1a;一个“无人值守”的系统调用监控器最近在折腾系统性能分析和安全监控&#xff0c;发现了一个挺有意思的开源项目&#xff1a;syscalldev/nohuman。这个名字直译过来是“无人”&#xff0c;听起来有点神秘&#xff0c;但其实它的核心功能非常直接——一个…...

Exclusively Dark数据集:破解低光照视觉难题的7363张真实图像基准

Exclusively Dark数据集&#xff1a;破解低光照视觉难题的7363张真实图像基准 【免费下载链接】Exclusively-Dark-Image-Dataset Exclusively Dark (ExDARK) dataset which to the best of our knowledge, is the largest collection of low-light images taken in very low-li…...

Sora 2生成素材在AE中频繁掉帧?20年合成老炮儿用CUDA Graph重构图层管线,性能提升3.8倍(含Profile对比图)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Sora 2生成素材在AE中频繁掉帧&#xff1f;20年合成老炮儿用CUDA Graph重构图层管线&#xff0c;性能提升3.8倍&#xff08;含Profile对比图&#xff09; 当Sora 2输出的4K/60fps高动态范围视频序列导入…...

Windows Cleaner:彻底告别C盘爆红的免费开源解决方案

Windows Cleaner&#xff1a;彻底告别C盘爆红的免费开源解决方案 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 面对Windows系统使用过程中C盘空间不断告急的困扰…...

D2DX:让《暗黑破坏神2》在现代电脑上完美运行的终极方案

D2DX&#xff1a;让《暗黑破坏神2》在现代电脑上完美运行的终极方案 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 还在为《…...

地下水位监测仪:实现深井水位远程自动观测

设备是什么地下水位监测仪是一种用于测量地下水、矿山井或地热井中水位高度的仪器。它采用投入式探头设计&#xff0c;基于静水压力原理工作&#xff1a;当传感器探头固定在水下某一点时&#xff0c;通过感知该点上方水柱产生的压力&#xff0c;结合安装高程&#xff0c;即可换…...

【网络安全】什么是漏洞扫描?有哪些功能?

【网络安全】什么是漏洞扫描&#xff1f;有哪些功能&#xff1f; 一、什么是漏洞扫描&#xff1f; 漏洞扫描是指基于CVE、CNVD、CNNVD 等漏洞数据库&#xff0c;通过专用工具扫描手段对指定的远程或者本地的网络设备、主机、数据库、操作系统、中间件、业务系统等进行脆弱性评估…...

量化研究实战:从数据到策略的Python框架与机器学习应用

1. 从零到一&#xff1a;量化研究实战框架搭建心路如果你和我一样&#xff0c;对金融市场既着迷又敬畏&#xff0c;总想用理性和数据去解读那些看似随机的价格波动&#xff0c;那么“量化研究”这个词对你来说一定不陌生。它听起来高大上&#xff0c;仿佛是高学历精英们在华尔街…...