用Python开发嗷大喵快跑小游戏,详细版!(Python小游戏编程)

基于Pygame实现谷歌浏览器的恐龙快跑小游戏(Python) 其实前段时间早就写完这个了,但是一直没有机会写博客,因为现在正好在复习python的一些东西,可以写一下博客来复习梳理一下整个游戏的流程。 1.效果展示 2.实现主窗体 先从最主要的开始入手,做一个游戏的窗体,因为导入了pygame,感觉在python中做一个小游戏比Java中更加容易做。可以直接设置FPS什么的,很方便。 下面是窗体部分实现代码 import pygame from pyga... 阅读详情

用python+pygame库进行小游戏的开发。有写的不对之处还望各位海涵。

打个小广告——分享一份Python学习大礼包(激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程、100个项目源码、Python电子书等等)

点击领取 100%免费!

效果图:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
现在我们来分析一下制作流程:

游戏中一共有嗷大喵,恶龙,火焰,爆炸动画和果实(就是上方蓝色的矩形块)这几种精灵。这里我们使用到了前几期博客中的MyLibrary.py。上述这几个精灵都是 MySprite类实例化的对象。

为了方便管理。我们建立了几个精灵组,并且将一些精灵塞到了里面:
在这里插入图片描述
在程序开始的时候我们可以看到有一个欢迎界面,为了简单我这里是直接在ps里面做好了图片,然后加载到程序中的:
在这里插入图片描述
界面上面还有一个按钮,当鼠标经过的时候,会变成灰底的,因此我们设计一个button类:

简单来说就是预先加载一张正常状态下在的button图片和一个按下状态的button图片,然后判断鼠标的pos是否和button的位置有重合,如果有则显示button被按下时的图片。
在这里插入图片描述
可以看到这个button类里面我还添加了一个isStart的方法,他是用来判断是否开始游戏的。当鼠标的位置与button重合,且按下鼠标左键的时候,游戏就开始。

(将game_start变量置为True)然后通过btn_sound.play_sound(),bg_sound.play_sound() 这两句来播放按钮被按下的声音和游戏的背景音乐。

关于pygame中声音的操作,我稍后介绍一下。

可以看到程序中还有一个不停滚动的地图,让我们来实现这个滚动地图类:
在这里插入图片描述
创建两个地图对象:
在这里插入图片描述
在程序中直接调用update和rolling方法就可以让地图无限的滚动起来了。
在这里插入图片描述
你看明白这个无限滚动地图是如何工作的了吗。首先渲染两张地图背景,一张展示在屏幕上面,一张在屏幕之外预备着(我们暂时看不到),如下图所示:
在这里插入图片描述
然后两张地图一起以相同的速度向左移动:
在这里插入图片描述
当地图1完全离开屏幕范围的时候,再次将它的坐标置为600,0(这样就又回到了状态1):

在这里插入图片描述
这样通过两张图片的不断颠倒位置,然后平移,在我们的视觉中就形成了一张不断滚动的地图了。

下面介绍一下如何在pygame中加载并且使用声音:

1.初始化音频模块:

我们要使用的音频系统包含在了pygame的pygame.mixer模块里面。因此在使用音频之前要初始化这个模块:
在这里插入图片描述
这个初始化模块语句在程序中执行一次就好。

2.加载音频文件:

使用的是pygame.mixer.Sound类来加载和管理音频文件,pygame支持两种音频文件:未压缩的WAV和OGG音频文件,如果要播放长时间的音乐,我推荐你使用OGG格式音频文件,因为它的体积比较小,适合长时间的加载和播放。当你要播放比较短的音频的时候可以选择WAV。
在这里插入图片描述
3.播放音乐:

上面的pygame.mixer.Sound函数返回了一个sound对象,我们可以使用play和stop方法来播放和停止播放音乐。

但是这里我们介绍一种更为高级的用法,使用pygame.mixer.Channel,这个类提供了比sound对象更为丰富的功能。

首先我们先申请一个可用的音频频道:
在这里插入图片描述
一旦有了频道之后我们就可以使用Channel.play()方法来播放一个sound对象了。
在这里插入图片描述
好了现在让我们来实现一下和音频有关的模块:

首先定义一个初始化的函数,它初始化了音频模块,并且加载了一些音频文件以方便我们在程序中使用:
在这里插入图片描述
然后我们实现了一个Music类,这个类可以控制声音的播放和暂停(set_volume函数是用来设置音乐声音大小的):
在这里插入图片描述
跳跃函数:

当按下空格键的时候,嗷大喵会跳起,这个是如何实现的呢?
在这里插入图片描述
当按下空格键的时候,会将player_jumping变量置为True 并且给jump_vel一个初速度-12.0

然后在每次循环的时候,将jump_vel 加0.6,当嗷大喵回到起跳位置的时候,将速度置为0,使人物不再在y方向上有移动。
在这里插入图片描述
然后我们还需要一个不断发出的子弹:
在这里插入图片描述
在这里插入图片描述
关于嗷大喵和子弹冲突检测我们使用了之前学过的矩形冲突检测技术,当玩家和子弹产生冲突的时候,重置子弹,播放爆炸动画,然后将人物的x坐标值向左移动10,以表示人物受到伤害。恶龙和子弹的冲突和这个是一样的,这里就不再赘述了。
在这里插入图片描述
然后我们还需要考虑一下玩家被恶龙追上的时候的情形,还是应用矩形检测技术:
在这里插入图片描述
为了使果实移动,我们需要遍历group_fruit里面的果实,然后依次将他们左移5个单位,然后我们还需要判断玩家吃到果实的场景,果实会消失,然后玩家的积分增加。

这里使用了之前学过的pygame.sprite.spritecollide(sprite,sprite_group,bool)。

调用这个函数的时候,一个组中的所有精灵都会逐个地对另外一个单个精灵进行冲突检测,发生冲突的精灵会作为一个列表返回。

这个函数的第一个参数就是单个精灵,第二个参数是精灵组,第三个参数是一个bool值,最后这个参数起了很大的作用。当为True的时候,会删除组中所有冲突的精灵,False的时候不会删除冲突的精灵。因此我们这里将第三个参数设置为True,这样就会删除掉和精灵冲突的对象了,看起来就好像是玩家吃掉了这些果实一样。
在这里插入图片描述
全部的代码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后 如果你对Python感兴趣的话,可以试试我整理的这份Python全套学习资料:

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习
⑤ 历年互联网企业Python面试真题,复习时非常方便******
在这里插入图片描述

Chrome小恐龙快跑小游戏——Python实现 阅读详情

相关推荐

java GUI小游戏之小鼠快跑

NULL 博文链接:https://fengyanzhang.iteye.com/blog/1884350

【Pygame实战】嗷大喵历险记之程序员吸猫指南:真的太上头了~

导语 哈喽~大家好,我是木子,首先今天木子先给大家讲个小故事: 在喵界有这样一只网红——混迹于二次元、表情包界,贱萌活泼,调皮机灵,白色的大圆脸,脖子 上系了个铃铛,年龄不详,传说可于儿童、少年、青年间随意切换。 他的欢乐日常带给了很多人温暖和爆笑,他的乐观积极也是很多人治疗伤心难过空虚寂寞冷综合症 的良方,他就是——嗷大喵! ​ Ps小介绍: 嗷大喵资料:是一位开朗、乐观、热情奔放、温暖人心的喵星人。他静如瘫痪,动如癫痫,喜欢的 事情是吃和睡,他的直率和可爱还经常被人误以为是神经病呢。

顾木子吖的博客 2万+

Python游戏嗷大喵快跑设计丨跑酷小游戏设计论文和源码

Python游戏嗷大喵快跑设计丨跑酷小游戏设计论文和源码

【python游戏编程之旅】第九篇---嗷大喵快跑小游戏开发实例

本系列博客介绍以python+pygame库进行小游戏的开发。有写的不对之处还望各位海涵。   前几期博客我们一起学习了,pygame中的冲突检测技术以及一些常用的数据结构。 这次我们来一起做一个简单的酷跑类游戏综合运用以前学到的知识。 程序下载地址:http://yunpan.cn/cLIcJgTvq4tZS 访问密码 901f 源代码网盘地址:http://yunpan.cn/cLI...

weixin_34375251的博客 573

Python游戏嗷大喵快跑设计.zip

资源包含文件:lunwen文档word+源码+演示视频+项目截图 使用python+pygame跑酷类小游戏,一共有5关,在赢得比赛或者结束游戏的时候会有积分榜。有音效的哦,详细介绍参考:https://blog.youkuaiyun.com/sheziqiong/article/details/127345700

手势控制 Python !Leap Motion Python 开发教程 (二)

手势控制 Python !Leap Motion Python 开发教程 (二) 现在进入正题,我来给大家总结一下我在使用 Leap Motion 开发过程中的经验以及学到的东西,其中我会概括以及翻译官方给出的注释,为了让这些注释更加通俗易懂,让大家更好理解。 回顾 在上一篇文章中我们讲了如何配置 Leap Motion 的 Python 2.7 的开发环境,如果您还没有配置好您的开发环境,可以参...

成畅的博客 3193

小白装tensorflow遇险记

最后pip install tensorflow==2.1.0 -i https://pypi.douban.com/simple。下载tensorflow时特别特别的慢,然后加了各种源都没有成功;1.装tensorflow前必须要确定版本:GPU/CPU。装gpu的前需要确定cuda和cuDNN的版本。这里zoe装的GPU的;

qq_46696179的博客 1386

SAP SD跨公司销售IDOC自动记账配置实战指南

本文详细介绍了SAP SD模块中跨公司销售IDOC自动记账的配置实战指南。通过IDOC技术实现集团企业间交易的自动化处理,显著提升财务效率和准确性。文章涵盖前置配置、RFC连接、合作伙伴参数设置及财务科目分配等关键步骤,并提供了常见错误排查和性能优化建议,帮助用户快速掌握这一高效业务流程。

weixin_29284885的博客 769

Python游戏嗷大喵快跑设计

本文介绍了一个基于Python和Pygame开发的横版跑酷游戏。系统采用面向对象设计方法,通过MySprite类实现游戏精灵的动画帧管理,包含角色移动、碰撞检测等功能模块。文章详细阐述了系统开发的技术路线,包括开发环境配置(PyCharm+Python)、可行性分析、功能需求设计、核心代码实现(精灵创建、滚动地图、音频加载等)以及测试方案。游戏最终实现了角色控制、怪物生成、分数计算等基本功能,并通过多张游戏截图展示了实际运行效果。系统具有操作简单、运行流畅的特点,为Python游戏开发提供了实践参考。

毕业作品网站 3741

开关电源EMC整改案例-辐射骚扰

2.4.1 获得原始数据。同样的分析可以应用在差模电流的情况, 唯一不同的是, 两根导线的磁场分布是相反的, 磁 场互相抵消, 由于导线中的电流大小相等, 产生的磁场 H 大小相同, 在互相靠近的情况下, 在磁 环内的两个感应磁场大小相同、方向相反, 因此合成之后的感应磁场 B 几乎为 0,对任意一根导 线而言,相当于是一段“无感导线”,对差模电流不会产生任何抑制作用。众所周知, 共模电感的匝数越多, 感量越大, 按道 理来说对共模干扰电流的抑制也会越强烈,对抗辐射 也越有利,然而事实真的如此吗?

经营范围: CTA、SRRC、CCC、移动、电信、联通入库 3496

红外避障模块介绍

该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接回输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3v-5v。该模块测距离2~~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;1.VCC外接3.3v-5v电压(可以直接与5v单片机和3.3v单片机相连).

weixin_46251230的博客 2万+

无限滚动实例_Python嗷大喵快跑小游戏开发实例

本系列博客介绍以python+pygame库进行小游戏的开发。有写的不对之处还望各位海涵。前几期博客我们一起学习了,pygame中的冲突检测技术以及一些常用的数据结构。这次我们来一起做一个简单的酷跑类游戏综合运用以前学到的知识。程序下载地址:https://pan.baidu.com/s/1Ji2Ubsds6z2brBx8Gz1OOw 提取码:dff4 源代码网盘地址:https://pan.ba...

weixin_33235712的博客 411

kaggle项目:纽约出租车行程时间NYC Taxi Trip Duration

纽约出租车形成时间预测(NYC Taxi Trip Duration)是Kaggle中的一个Playground竞赛。比赛数据集基于2016年纽约市黄色出租车行程记录数据,需要建立一个模型,根据单个行程属性,预测测试集中每次行程的持续时间。Kaggle项目模型XGBoost,评价指标RMSLE。

weixin_42113929的博客 2790

python编写小游戏详细教程,python编程小游戏简单的

大家好,本文将围绕python编写小游戏详细教程展开说明,python编程小游戏简单的是一个很多人都想弄明白的事情,想搞清楚python小游戏代码大全需要先了解以下几个事情。Python为什么能这么火热?Python相对于其他语言来说比较简单,即使是零基础的普通人也能很快的掌握,在其他方面比如,处于灰色界的爬虫,要VIP的视频,小说,歌,没有爬虫解决不了的;数据挖掘及分析,淘宝就是例子,想开个淘宝店,需要获取相关商品信息,这时数据分析就能解决等等;游戏开发、自动化测试、人工智能,黑客入门语言等等等。

w666666Wwwwwww的博客 1447

ARFoundation系列讲解 - 手部跟踪编程

通过使用ARFoundation的手部跟踪子系统,我们可以轻松地在AR应用程序中实现与用户手部的交互。通过设置AR环境、创建场景和相机、添加手部跟踪功能以及编写相应的脚本,我们可以开始在AR场景中跟踪和操作用户的手部。在Unity中创建一个新场景,并将AR Session组件添加到场景中的一个空对象上。手部跟踪的具体实现可能因AR设备和平台的不同而有所差异,你可能需要根据你的使用情况进行一些适配和调整。当你将手部放入AR场景中时,手部跟踪系统将触发相应的事件,并调用脚本中的回调函数。

2301_79325339的博客 355

Ubuntu18.04安装VCS、Verdi、dve全套教程亲测(有成功截图)

通过下面十个步骤,我们就可以在ubuntu上使用vcs、verdi、dve等软件! 一、安装ubuntu系统,这个不在这里讲了,重点叫安装VCS、Verdi等软件 下面的过程一部分同其他网上流程一致,对其中部分进行修改。如果按照其他网上教程是不会成功的,本人亲测,下面是我试验网上不同文章的流程遇到的错误摸索后总结的流程,按照步骤保证可以成功运行,包括破解流程,使用时间不限制在2020年,可以自定义2030等等。 二、安装文件结构 –synopsys_installer #此程序用于安装下面三个程序。所以你想

QQ_778132974的博客 6364

游戏开发实战(三):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】

本博文是奇美拉项目的完结篇章。

顾若茵的博客 1653

AutoSAR配置与实践(实践篇)13.1 如何添加一个NVM BLOCK

解决办法:如下红框选项都不要自定义,否则无法自动生成对应RAM/ROM映射接口函数。传送门–AUTOSAR配置与实践—总目录传送门–AUTOSAR配置与实践—总目录。

nihaoljq2010的博客 3038

游戏开发实战(一):Python复刻「崩坏星穹铁道」嗷呜嗷呜事务所---源码级解析该小游戏背后的算法与设计模式【纯原创】

由于项目工程较大,并且我打算把我的思考过程和实现过程中踩过的坑都分享一下,因此会分3-4篇博文详细讲解本项目。本文首先介绍下游戏规则并给出奇美拉档案。

顾若茵的博客 3341

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python文字游戏源代码_嗷大喵快跑小游戏python源码

# MyLibrary.pyimport sys, time, random, math, pygamefrom pygame.locals import *# prints text using the supplied fontdef print_text(font, x, y, text, color=(255,255,255)): imgText = font.render(text...

weixin_39595320的博客 866

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Python新手也能搞定的Pygame小游戏:从零开始复刻一个‘嗷大喵快跑’(附完整源码)

本文详细介绍了如何使用Pygame从零开始开发一个简单的2D游戏'嗷大喵快跑',适合Python新手学习。内容涵盖Pygame基础、游戏开发流程、核心机制实现以及优化发布技巧,并附完整源码,帮助读者快速掌握Python游戏开发入门技能。

weixin_34026997的博客 276

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python编程小游戏 五子棋,python编程小游戏源代码

大家好,本文将围绕python编程小游戏简单的例子展开说明,python编程小游戏的代码教程是一个很多人都想弄明白的事情,想搞清楚python编程小游戏超级玛丽需要先了解以下几个事情。大家好,我是辣条。今天给大家带来30个py小游戏,一定要收藏!目录有手就行1、吃金币2、打乒乓3、滑雪4、并夕夕版飞机大战5、打地鼠简简单单6、小恐龙7、消消乐8、俄罗斯方块9、贪吃蛇普普通通10、24点小游戏11、平衡木12、外星人入侵13、贪心鸟14、井字棋888‘’有点困难15、炸弹人16、保卫森林17、五子棋18、吃豆

zjl102562的博客 1634

python小游戏之一

20行python代码的入门级小游戏 20行python代码的入门级小游戏_linmo8256的博客-优快云博客_py游戏代码 猜数字小游戏python实现(可用来撩妹撩汉) 猜数字小游戏python实现(可用来撩妹撩汉)_愿十四亿神州尽舜尧-优快云博客 python打造特别火的一个小游戏,16行代码实现3D撞球小游戏! python打造特别火的一个小游戏,16行代码实现3D撞球小游戏!_weixin_33997389的博客-优快云博客 python小游戏-16行代码实现3D撞球小游戏!-

青少年趣味编程 1271

python简单小游戏代码教程,python编程小游戏简单的

不会python就不能用python开发入门级的小游戏?当然不是,我收集了十个python入门小游戏的源码和教程,并且即使你没有python基础,只要跟着这十个小游戏的开发详细教程去做,以及有了全部的源码,那就能自己开发出这样十个python入门小游戏。不仅如此,在玩好这十个小游戏的过程中,还可以掌握python的基础知识点哦!完整的源码已经打包好了,需要练手的新手朋友,可以点击下面的链接领取!下面看看这十个小游戏具体是哪些吧~(底部有完整源码和教程)

high_colever的博客 958
上一篇: Pycharm,2024最新版PyCharm下载安装环境配置汉化详教程!
下一篇: Python爬虫—爬取网易云音乐!
Python_trys
博客等级 码龄2年 4369粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值