查看原文
其他

如何使用Python来写游戏——超级玛丽第一关

2017-07-07 造数君 Python爱好者社区

(点击上方Python爱好者社区,可快速关注)

作者:造数君

微信公众号:萌新的学习日记

作为一个从小就爱玩游戏的孩纸,小时候对游戏最深的印象就是魂斗罗、超级玛丽,一不小心就暴露年龄了。最近发现GitHub上一个非常Nice的项目,使用Pygame来写了一个超级玛丽

地址:https://github.com/justinmeister/Mario-Level-1


游戏试玩

多的不说,来体验试试下载

git clone https://github.com/justinmeister/Mario-Level-1.git

开始:有两种开始游戏的方法,执行py文件或者exe文件

按键:A:跳跃、S:火球/加速、 键盘上的左右键控制方向

依赖:Pygame 1.9.1 (Python 2)、Pygame 1.9.2 (Python 3)

可以选择一人游戏还是两人游戏

“Enter”开始游戏,响起了熟悉的音乐,右上角有时间记录

可以看到,这款游戏和以前玩的基本一致,包括画面、音乐、成长等等。因为目前作者只写了第一关,所以过了第一关就会显示“GAME OVER”。

然我们看看源码中的文件, data目录下是游戏运行的代码,resources则是游戏运行的资源,字体、图片、音乐等。

代码欣赏

关于跳跃,作者是这样写的

创建当马里奥触摸旗杆时出现的点

游戏设计元素

作者还录制了视频 https://www.youtube.com/watch?v=HBbzYKMfx5Y

还有一个mini-RPG,https://github.com/justinmeister/The-Stolen-Crown-RPG

同样基于Python和Pygame

Python做游戏开发不只是Pygame一个库,还有下面超赞的游戏开发库。

  • Cocos2d:cocos2d 是一个用来开发 2D 游戏, 示例和其他图形/交互应用的框架。基于 pyglet。

  • Panda3D:由迪士尼开发的 3D 游戏引擎,并由卡内基梅陇娱乐技术中心负责维护。使用C++编写, 针对 Python 进行了完全的封装。

  • PyOgre:Ogre 3D 渲染引擎的 Python 绑定,可以用来开发游戏和仿真程序等任何 3D 应用。

  • PyOpenGL:OpenGL 的 Python 绑定及其相关 APIs。

  • PySDL2:SDL2 库的封装,基于 ctypes。

  • RenPy:一个视觉小说(visual novel)引擎。

关注公众号,“Python爱好者社区”,回复“爬虫”即可获取崔老师爬虫免费学习视频。


Python爱好者社区


为大家提供与Python相关的最新技术和资讯。

长按指纹 > 识别图中二维码 > 添加关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存