玩玩pygame
1、pygame历史
Pygame是跨平台Python模块,专为电子游戏设计,包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。 就产品而言Pygame更致力于2D游戏的开发。
2、安装pygame
可以从www.pygame.org 下载Pygame,选择合适你的操作系统和合适的版本,然后安装就可以了,安装完之后引入模块
>>>import pygame
>>>print pygame.ver
3、使用pygame
Pygame有很多的模块,下面是一张一览表:
image image有些模块可能在某些平台上不存在,你可以用None来测试一下。
if pygame.font is None:
print "The font module is not available!"
exit()
4、玩玩pygame
4.1-- 游戏程序结构分析
1. 构建模块文件
(1) .外星人群 --alien模块
(2).飞船--ship模块
(3).子弹--bullet模块
如果我们给其加上管理设置的类,用来封装一些设置,如游戏背景颜色,子弹最大数量,子弹移动速度,僵尸移动速度等等细节的封装类所以我们建立设置模块:
(4).设置 --settings模块
当我们对游戏进行操作的时候,pygame模块捕获我们的动作,键盘,鼠标,按下,抬起,屏幕的绘制等等,操作有关的东西,我们可以单独再写一个模块,尽量减少程序的耦合是一个需要掌握的技能和聪明的做法.
(5)游戏使用函数--game_functions模块
游戏从何开始从何结束,怎么样算是失败,怎么样算是通关,一共有多少条生命,怎么样式GAME OVER 所以我们要思考建立一个模块来进行封装
(6)状态--game_stats模块
2. 功能
- 飞船:左右移动、射击外星人
- 外星人:上下左右移动、生成外星人
- 当飞船全部射杀完外星人就晋级,当外星人碰到飞船或者碰到底部就损失一艘飞船
- 开始play按钮
- 得分,最高分,等级
3.一些总结
游戏的主循环是一个无限循环,直到用户跳出。在这个主循环里做的事情就是不停地画背景和更新光标位置,虽然背景是不动的,我们还是需要每次都画它, 否则鼠标覆盖过的位置就不能恢复正常了。
blit是个重要函数,第一个参数为一个Surface对象,第二个为左上角位置。画完以后一定记得用update更新一下,否则画面一片漆黑。
最后,附上成果图(UI随便找的图,不要嫌弃o(╯□╰)o)
image