• 注册
  • 后端开发博客 后端开发博客 关注:0 内容:2357

    Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

  • 查看作者
  • 打赏作者
  • 当前位置: 职业司 > 后端开发 > 后端开发博客 > 正文
    • 后端开发博客
    • 往期回顾

      Python实现“小兔子和Bun”游戏

      Python实现八音符小游戏

      Python实现拼图小游戏

      Python实现滑雪小游戏

      Python实现经典90坦克大战

      Python实现FlappyBird小游戏

      前言:

      本期我们将仿制一个Chrome浏览器里隐藏多年的彩蛋小游戏,即"恐龙跳一跳"(当然一般都叫它T-Rex Rush)。

      让我们愉快地开始吧~

      效果图

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      在Chrome浏览器地址栏输入chrome://dino或者断网后访问任意地址或者不科学上网访问需FQ的网站,将会出现如下界面:

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      此时,按下键盘的空格键,就可以进入Chrome浏览器的彩蛋游戏“恐龙跳一跳”了:

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      开发工具

      **Python版本:**3.6.4

      相关模块:

      pygame模块;

      以及一些Python自带的模块。

      环境搭建

      安装Python并添加到环境变量,pip安装需要的相关模块即可。

      原理介绍

      游戏规则简介:

      玩家通过空格键控制一只小恐龙的前进方式,当小恐龙触碰到植物或者飞龙时,游戏结束。小恐龙躲避的植物和飞龙越多,得分越高。

      逐步实现:

      Step1:定义精灵类

      为了方便实现小恐龙和植物以及飞龙之间的碰撞检测,我们先定义一些精灵类,包括:

      ① 植物类

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      其中,move函数的作用为使随机生成的植物不断地左移,来实现小恐龙不断右移的效果。

      ② 飞龙类

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      飞龙类的定义要略微复杂一些,因为如果我们想让飞龙飞起来更逼真一些,就必须每隔一段很小的时间,就对飞龙的状态进行转换。具体而言,飞龙的飞行状态有两种,即翅膀向上和翅膀向下:

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      我们需要做的就是每隔很短的一段时间,就让飞龙的翅膀由其中一种姿势转为另外一种姿势。

      ③ 小恐龙类

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      小恐龙类的定义与飞龙类类似,只不过状态要更加丰富一些,并且通过匀加速直线公式模拟恐龙的跳跃和下降的动作。

      Step2:定义场景类

      我们需要定义一个简单的场景类(道路和云等场景),来使我们的游戏效果更加逼真:

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      这里唯一需要注意的就是场景的左移速度应当与植物类一致(毕竟它们理论上都应当是相对静止的),并且需要三张场景图同时左移来保证画面的连续性。

      Step3:游戏主循环

      先初始化,内容包括加载游戏素材文件、实例化之前定义的精灵类和场景类、定义一些必要的常量和用户事件等:

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      然后就可以进入游戏主循环了:

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      主循环主要包括四个功能,一是事件检测;二是不断地产生、移动并画出相应的场景和精灵类;三是碰撞检测;四是统计并显示当前分数。

      文章到这里就结束了,感谢你的观看,Python24个小游戏系列,下篇文章塔防小游戏

      为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

      干货主要有:

      ① 2000多本Python电子书(主流和经典的书籍应该都有了)

      ② Python标准库资料(最全中文版)

      ③ 项目源码(四五十个有趣且经典的练手项目及源码)

      ④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

      ⑤ Python学习路线图(告别不入流的学习)

      ⑥ 两天的Python爬虫训练营直播权限

      Python游戏开发,pygame模块,Python实现恐龙跳一跳小游戏

      All done~分享不易记得给波点赞+评论支持下~详见个人简介或者私信获取完整源代码。。

      请登录之后再进行评论

      登录

      手机阅读天地(APP)

      • 微信公众号
      • 微信小程序
      • 安卓APP
      手机浏览,惊喜多多
      匿名树洞,说我想说!
      问答悬赏,VIP可见!
      密码可见,回复可见!
      即时聊天、群聊互动!
      宠物孵化,赠送礼物!
      动态像框,专属头衔!
      挑战/抽奖,金币送不停!
      赶紧体会下,不会让你失望!
    • 实时动态
    • 签到
    • 做任务
    • 发表内容
    • 偏好设置
    • 到底部
    • 帖子间隔 侧栏位置:
    • 还没有账号?点这里立即注册