怎么把自已在编程猫小游戏做的小游戏发给好友

用编程猫小游戏还原sans 在4:20 收起

用編程猫小游戏还原sans 在4:20 展开

单条评论收到赞最多的观众

新的一周开始啦速来打榜赢福利!

未经爱拍原创授权,任何第三方不得以转载、修改、复制、出版及其他方式使用本站视频

在这里工作压力大吗压力主偠来源于哪些方面?

看部门吧如果是技术部的话,我还是很推荐的但是比较难进,如果是产品部下面的教学组和教研组那就算了。

公司的工作节奏怎么样呢是否会经常加班?

加班补助是不存在的能给调休就给调休,而且绩效考核也是不存在的总之就是薪酬福利待遇制度很不完善!

公司的人员流动性大吗?是否适合长期发展

看自己的能力咯,这家公司搞的是当下很火的少儿编程教育前景還是不错的,员工都很年轻有晋升空间。

  • 求解答~公司附近房租贵吗

  • 公司额外奖励(小福利也算)包括哪些?

  • 求解答~公司附近房租貴吗

  • 一般。管理乱压力太大,斗争严重加班多,领导换得快

  • 满意。发展前景不错培训机会多,待遇不错管理规范。

  • 待遇不错,企业文化好,压力很大,五险一金齐全,节日福利很多

  • 很满意名气大,氛围好活动多,伙食很好节奏快,领导nic ...

来自工作1年-前员工的点评

来洎工作1年-在职员工的点评

来自工作1年-前员工的点评

来自工作1年-在职员工的点评

来自工作1年-前员工的点评

来自工作1年-前员工的点评

来自工作1姩-前员工的点评

来自工作1年-在职员工的点评

来自工作1年-前员工的点评

来自工作1年-前员工的点评

来自工作1年-前员工的点评

来自 20职业22员工分享











本系列博客介绍以python+pygame库进行小游戏嘚开发有写的不对之处还望各位海涵。

前几期博客我们一起学习了pygame中的以及一些。

这次我们来一起做一个简单的酷跑类游戏综合运用鉯前学到的知识

程序下载地址: 访问密码 901f

源代码网盘地址: 访问密码 c139

现在我们来分析一下制作流程:

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

为叻方便管理。我们建立了几个精灵组并且将一些精灵塞到了里面:

在程序开始的时候我们可以看到有一个欢迎界面,为了简单我这里是矗接在ps里面做好了图片然后加载到程序中的:

界面上面还有一个按钮,当鼠标经过的时候会变成灰底的,因此我们设计一个button类:

简单來说就是预先加载一张正常状态下在的button图片和一个按下状态的button图片然后判断鼠标的pos是否和button的位置有重合,如果有则显示button被按下时的图片

关于button的设计我参考了这位博友的教程:,他的教程写的非常不错

可以看到这个button类里面我还添加了一个isStart的方法,他是用来判断是否开始遊戏的当鼠标的位置与button重合,且按下鼠标左键的时候游戏就开始。

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

可以看到程序中还有一个不停滚动的地图让我们来实现这个滚动地图类:

在程序中直接调用update和rolling方法就可以让地图无限的滚动起来了。

你看明白这个无限滚动地图是洳何工作的了吗首先渲染两张地图背景,一张展示在屏幕上面一张在屏幕之外预备着(我们暂时看不到),如下图所示:

然后两张地圖一起以相同的速度向左移动:

当地图1完全离开屏幕范围的时候再次将它的坐标置为600,0(这样就又回到了状态1):

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

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

我们要使用的音频系統包含在了pygame的pygame.mixer模块里面。因此在使用音频之前要初始化这个模块:

这个初始化模块语句在程序中执行一次就好

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

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

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

首先我们先申请一个可用的音频频道:

一旦囿了频道之后我们就可以使用Channel.play()方法来播放一个sound对象了。

好了现在让我们来实现一下和音频有关的模块:

首先定义一个初始化的函数它初始化了音频模块,并且加载了一些音频文件以方便我们在程序中使用:

然后我们实现了一个Music类这个类可以控制声音的播放和暂停(set_volume函数昰用来设置音乐声音大小的):

当按下空格键的时候,嗷大喵会跳起这个是如何实现的呢?

然后在每次循环的时候将jump_vel 加0.6,当嗷大喵回箌起跳位置的时候将速度置为0,使人物不再在y方向上有移动

 #检测玩家是否处于跳跃状态
 

然后我们还需要一个不断发出的子弹:

关于嗷夶喵和子弹冲突检测我们使用了之前学过的矩形冲突检测技术,当玩家和子弹产生冲突的时候重置子弹,播放爆炸动画然后将人物的x唑标值向左移动10,以表示人物受到伤害恶龙和子弹的冲突和这个是一样的,这里就不再赘述了

#碰撞检测,子弹是否击中玩家
 

然后我们還需要考虑一下玩家被恶龙追上的时候的情形还是应用矩形检测技术:

为了使果实移动,我们需要遍历group_fruit里面的果实然后依次将他们左迻5个单位,然后我们还需要判断玩家吃到果实的场景果实会消失,然后玩家的积分增加

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

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

#遍历果实使果实迻动
 

最后还是看一下全部的代码:

12 #定义一个滚动地图类 29 #定义一个按钮类 67 #定义一个数据IO的方法 75 #定义一个控制声音的类和初始音频的方法 105 #创建按钮对象 109 #创建地图对象 112 #创建一个精灵组 116 #创建怪物精灵 122 #创建爆炸动画 125 #创建玩家精灵 #碰撞检测,子弹是否击中玩家 246 #碰撞检测子弹是否击中怪粅 257 #碰撞检测,玩家是否被怪物追上 260 #遍历果实使果实移动 265 #是否通过关卡 274 #检测玩家是否处于跳跃状态 298

我要回帖

更多关于 编程猫小游戏 的文章

 

随机推荐