Pygame学习笔记(零):缘起

引言

在学习游戏开发,因为好奇,我尝试过很多引擎。从目前最火的Cocos2d-x、Unity,到Python的游戏引擎:Pygame、Pyglet、Cocos2d、Panda3D。每一个引擎我都浅尝辄止。

  • Cocos2d-x,做过一个粒子系统的demo,并发布exe包;
  • Unity,跟着慕课网的万圣节视频教程,做了一个简短的2d动画;跟着视频教程做了一个增强现实demo,但没能发布。
  • Pygame,做了一个简单的贪吃蛇游戏,代码结构有些混乱(放在Github上)。
  • Pyglet,跟着一篇tutor(代码在Github上开源),做Asteroid游戏,完成了一大半,放弃。
  • Cocos2d,刚搭建好环境,跑了几个例程。
  • Panda3D,在一个示例程序的基础上,做了一个场景漫游,搜集龙珠的demo。模型是同学建的。当时是为了完成图形学作业。

前段时间,我想重新学Pygame,过了一两天,发现Pyglet比Pygame的代码更加简洁,于是开始玩Pyglet。我想用Pyglet画一根线,却发现需要调用OpenGL接口,难度太大。再加上Pyglet的学习资料也太少,YouTube上都找不到几个教程,所以又想换个引擎。于是找到了Cocos2d,它是对Pyglet的进一步封装。把Cocos2d装好之后,我又想,学Cocos2d,不如直接学Cocos2d-x,跨平台特性更强大,而且学习资料更加丰富。再然后,学Cocos2d-x,不如直接学Unity,操作更加方便,功能更加强大,而且整个生态系统做得非常好(如Assets Store)……

如此一来,我浪费了很多时间在一些表面、琐屑的事情上,除了多知道几个名词,技术能力几乎没有提高。

痛定思痛,还是决定沉下心,回过头来学习Pygame!希望能用它做一点有趣的东西出来。

Pygame简介

Pygame诞生于2000年,是Python的一个多媒体库,封装了SDL(Simple Directmedia Library,它是一个C语言写的跨平台多媒体库,类似于DirectX)。Pygame十分轻量,跨平台(Windows、Linux、MacOS),可用于开发小游戏,或者其他交互式应用。

官方网站:pygame.org。上面有丰富的示例,详尽的文档与tutor。我的学习,便从官网开始。