ps做网站动图wordpress数据库访问慢

news/2025/10/1 9:20:34/文章来源:
ps做网站动图,wordpress数据库访问慢,公司建站多少钱,网站未授权cas要怎么做安装pygame本人电脑是windows 10、python3.6#xff0c;pygame下载地址#xff1a;pypi.python.org/pypi/Pygame…请自行下载对应python版本的pygame运行以下命令创建Pygame窗口及响应用户输入新建一个文件夹alien_invasion#xff0c;并在文件夹中新建alien_invasion.py文件…安装pygame本人电脑是windows 10、python3.6pygame下载地址pypi.python.org/pypi/Pygame…请自行下载对应python版本的pygame运行以下命令创建Pygame窗口及响应用户输入新建一个文件夹alien_invasion并在文件夹中新建alien_invasion.py文件输入如下代码。运行上述代码我们可以得到一个灰色界面的窗口创建设置类为了在写游戏的过程中能便捷地创建一些新功能下面额外编写一个settings模块其中包含一个Settings类用于将所有设置存储在一个地方。这样在以后项目增大时修改游戏的外观就更加容易。我们首先将alien_invasion.py中的显示屏大小及显示屏颜色进行修改。首先在alien_invasion文件夹下新建python文件settings.py并向其中添加如下代码然后再alien_invasion.py中导入Settings类并使用相关设置修改如下添加飞船图像接下来我们需要将飞船加入游戏中。为了在屏幕上绘制玩家的飞船我们将加载一幅图像再使用Pygame()方法blit()绘制它。在游戏中几乎可以使用各种类型的图像文件但是使用位图(.bmp)文件最为简单这是因为Pygame默认加载位图。虽然其他类型的图像也能加载但是需要安装额外的库。我们推荐去免费的图片素材网站上去找图像pixabay.com/我们在主项目文件夹(alien_invasion)中新建一个文件夹叫images将如下bmp图片放入其中。接下来我们创建飞船类ship.py重构模块game_functions在大型项目中经常需要在添加新代码前重构既有代码。重构的目的是为了简化代码的结构使其更加容易扩展。我们将实现一个game_functions模块它将存储大量让游戏Alien invasion运行的函数。通过创建模块game_functions可避免alien_invasion.py太长使其逻辑更容易理解。函数check_events()首先我们将管理事件的代码移到一个名为check_events()的函数中目的是为了隔离事件循环然后我们修改alien_invasion.py代码导入game_functions模块并将事件循环替换成对函数check_events()的调用函数update_screen()将更新屏幕的代码移到一个名为update_screen()函数中并将这个函数放在模块game_functions中其中alien_invasion修改如下从上面一套流程走下来我们发现在实际的开发过程中我们一开始将代码编写得尽可能的简单并在项目越来越复杂时进行重构。接下来我们开始处理游戏的动态方面。驾驶飞船这里我们要实现的就是使玩家通过左右箭头键来控制飞船的左移与右移。响应按键因为在pygame中每次按键都被注册为KEYDOWN事件在check_events()中我们通过event.type检测到KEYDOWN事件后还需进一步判断是哪个按键。代码如下允许不断移动玩家按住右箭头不动时我们希望飞船能不断地移动直到玩家松开为止。这里我们通过KETUO事件来判断。因此我们设置一个标志位moving_right来实现持续移动。原理如下飞船不动时标志moving_right将为false。玩家按下右箭头时我们将这个标志设置为True;玩家松开时我们将标志重新设置成False。这个移动属性是飞船属性的一种我们用ship类来控制因此我们给这个类增加一个属性名称叫moving_right以及一个update()方法来检测标志moving_right的状态。shipgame_functions最后在alien_invasion中调用update()方法左右移动前面我们实现了向右移动接下来实现向左移动逻辑类似代码就不贴了。调整飞船的速度当前每次执行while循环时飞船最多移动一个像素我们可以在Settings中添加ship_speed_factor用于控制飞船的速度。我们将根据这个属性决定飞船每次循环时最多移动多少距离。SettingsShip限制飞船的活动范围如果玩家按住箭头的时间过长飞船就会消失那么如何使飞船抵达屏幕边缘时停止移动这里我们只需要修改Ship类中的update方法增加一个逻辑判断。重构这里我们主要讲check_events()函数进行重构将其中部分代码分成两部分一部分处理KEYDOWN事件一部分处理KEYUP事件。game_functions:射击接下来添加射击功能使玩家按空格键时发射子弹子弹将在屏幕中向上穿行抵达屏幕后消失。添加子弹设置在Settings类中增加一些子弹的属性这里我们创建一个宽3像素高15像素的深灰色子弹。子弹的速度比飞船稍低。创建Bullet类将子弹存储到group中前面定义了Bullet类和必要的设置后就可以编写代码了在玩家每次按空格键时都会发射一发子弹。首先我们在alien_invasion中创建一个group,用于存储所有的有效子弹。开火这里我们修改check_keydown_events()函数来监听玩家按下空格键的事件。这里还需要修改update_screen()函数确保屏幕每次更新时都能重绘每一个子弹。我们来看下效果删除消失的子弹在alien_invasion中删除消失的子弹。限制子弹数量为了鼓励玩家有目标的射击我们规定屏幕上只能同时存在3颗子弹我们只需要在每次创建子弹前检查未消失的子弹数目是否小于3即可。创建update_bullets()函数为了使alien_invasion中代码更加简单我们将检查子弹管理的代码移到game_functions模块中创建fire_bullet()函数这里我们将发射子弹的代码移到一个独立的函数中:添加外星人并检测碰撞在我们完成新的任务之前我们先给游戏添加一个结束游戏的快捷键Q:创建第一个外星人这里和创建飞船的方法一样创建一群外星人这里我们首先确定一行能容纳多少个外星人以及要绘制几行。这里改动代码较多直接看效果其实做为一个开发者有一个学习的氛围跟一个交流圈子是一个特别重要的事情这里我创建了一个python交流群12546470不管你是小白还是大牛欢迎入驻大家一起交流成长。移动外星人前面我们创建的是静态的外星人现在我们需要让外星人动起来。这里我们在Settings类中设置外星人移动的速度然后通过Alien类中的update的方法来实现移动射杀外星人要想射杀外星人就必须先检测两个编组成员之间是否发生碰撞在游戏中碰撞就是游戏元素重叠在一起。这里我们使用sprite.groupcollide()来检测两个编组的成员之间的碰撞。子弹击中外星人时需要立马知道并同时使被碰撞的外星人立即消失因此我们需要在更新子弹的位置后立即检测碰撞。结束游戏这里我们还需要知道何时该结束游戏有以下几种情况飞船全部被摧毁外星人到达屏幕底部实际效果计分最后我们将给游戏添加一个Play按钮用于根据需要启动游戏以及在游戏结束后重启游戏。我们还将实现一个计分系统能够在玩家等级提高时加快节奏。添加Play按钮这里可以先将游戏初始化为非活动状态当我们点击了按钮就开始游戏。由于Pygame中没有内置的创建按钮的方法。因此我们可以通过创建一个Button类来创建一个自带标签的实心矩形。我们通过检测鼠标发生点击后的坐标是否与我们绘制的按钮发生碰撞与否来判断是否发生了点击事件。提高等级为了使玩家将敌人消灭干净后能够提高游戏难度增加趣味性这里我们可以在Settings类中进行修改增加静态初始值和动态初始值。记分、等级、剩余飞船打包成exe可执行文件上面游戏开发完了那么你需要将其转成文exe的可执行文件。我们采用pyinstaller安装步骤参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站分为几种类型重庆建设工程信息网查询平台入口官网

2019独角兽企业重金招聘Python工程师标准>>> 描述: 在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。但是当子元素设置浮动之后,子元素会完全脱离文档流,此时将会…

MySQL 8 密码验证组件 validate_password 的详细指南

MySQL 8 密码验证组件 validate_password 的详细指南一、组件核心认知与环境准备1. 组件本质与版本差异validate_password 在 MySQL 8 中由「插件」升级为「内置组件」,解决了旧版插件依赖系统库的问题。核心优势:无…

珠海网站定制开发网站备案需要那些资料

1.磁盘分区 1.分区有固定大小 2.直接写在这块盘的磁盘分区表中(DPT),和上面装什么操作系统没有任何关系 2.每一个磁盘分区都要先有一个磁盘分区类型 GPT(首选) MBR 3.磁盘专业术语叫做块设备(Block Dev…

网站地图用什么格式网站后台有显示前台没有

04-15 周一 GitHub仓库CI服务器配置过程文档 时间版本修改人描述2024年4月15日10:35:52V0.1宋全恒新建文档2024年4月17日10:33:20v1.0宋全恒完成github actions CI的配置和工作流配置文件解读文档的撰写 简介 一些基础概念 前提知识 仓库介绍 地址镜像介绍https://github.…

实用指南:语义三角论对人工智能自然语言处理中深层语义分析的影响与启示

实用指南:语义三角论对人工智能自然语言处理中深层语义分析的影响与启示2025-10-01 09:04 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: a…

Android开发-存储框架技术总结 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

国内网站模板郑州纯手工seo

JAVA开发的一套(智造制造领航者云MES系统成品源码)saas云MES制造执行系统源码,全套源码,支持二次开发 1990年11月,美国先进制造研究中心AMR(Advanced Manufacturing Research)就提出了MES&#…

TensorFlow 详细安装指南与常见问题解决方案 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

MySQL 8 密码验证组件(validate_password)

MySQL 8 密码验证组件(validate_password)在数据库安全体系中,“弱密码” 是最易被突破的防线之一。MySQL 8 引入的 validate_password 组件,通过标准化的密码强度检测与策略管控,从源头杜绝弱密码风险 —— 它替…

搜索引擎网站分析深圳龙霸网站建设物三

bash知识点:文件测试(测试文件是否存在,文件是某种类型)单目测试-e file:测试文件是是否存在-a file:测试文件是是否存在-f file:测试是否为普通文件,是为真,否则为假-d file:测试是…

平东网站建设php网站备份

前言 创建型为了创建东西才是有用的,创建型设计模式使用的场景: 1、创建一个东西; 2、可重复利用; 3、灵活性高,代码可因地制宜。 Factory Method(工厂模式) 工厂模式将目的将创建对象的具体过程屏蔽隔离起来&#…

react用于网站开发仿煎蛋wordpress

添加swap交换分区SWAP即交换分区是一种类似于Windows系统虚拟内存的功能,将一部分硬盘空间虚拟成内存来使用,从而解决内存容量不足的情况,因为SWAP毕竟是用硬盘资源虚拟的,所以速度上比真实物理内存要慢很多,一般只有当…

完整教程:C++设计模式之结构型模式:适配器模式(Adapter)

完整教程:C++设计模式之结构型模式:适配器模式(Adapter)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

第三方应用测试:【移动应用后端API自动化测试:Postman与Newman的集成】 - 指南

第三方应用测试:【移动应用后端API自动化测试:Postman与Newman的集成】 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-f…

(附源码)基于Spring Boot的宿舍管理系统设计与建立0007

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深入解析:【项目】Vision Master OpenCV 3.0 版本(预)发行说明

深入解析:【项目】Vision Master OpenCV 3.0 版本(预)发行说明pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

Adobe Acrobat Pro DC 2025版破解版下载及安装使用教程

Adobe Acrobat Pro DC 2025版破解版下载及安装使用教程Adobe Acrobat Pro DC 2025是一款功能强大的PDF文档编辑和管理工具。这款软件内置了多种编辑和修复工具,能够帮助用户方便地创建、编辑、转换和共享PDF文档。不仅…

网页访问速度很慢,远程仓库调用很慢

访问测试一下IPv6 测试 ipv6失败就去 搜索——>控制面板——>网络与internet——>网络和共享中心——>修改设配器设置——>右击那个WLAN——>属性——>把下面那个ipv6协议关了——>确认然后没…

免费网站推广工具浙江平安建设信息系统网站

前言 在持续集成/持续部署(CI/CD)的旅途中,Jenkins与版本控制系统的紧密集成是不可或缺的一环。本篇“持续集成03--Jenkins结合Gitee创建项目”将引导如何将Jenkins与Gitee(一个流行的Git代码托管平台)相结合&#xff…

详细介绍:Day51 时钟系统与定时器(EPIT/GPT)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …