pygame之飞机大战 sprite精灵类实现源代码和资源下载链接

用pygame的sprite 重写了飞机大战

实现功能: 英雄机:按住按键连续发射 子弹:各种子弹,静态的,动态的,不同的子弹不同的伤害。

发射方式:花样的发射方式,单、双、三、45度……,各种发射方式。

敌机:不同的敌机,随机的发射方式,随机的子弹,不同的生命值。

BOSS:敌机的属性,不同的运动方式,生命显示条,动态的飞机图片

等级控制:按照英雄的得分,变换敌人强度 碰撞检查:用精灵自带的碰撞检查函数,检查碰撞,实现爆炸效果,实现不同的子弹对敌机造成伤害后,计算敌机的生命值。

声音:背景音乐,发射音效,爆炸音效。 差不多实现了要的功能。

最初的入门,用List来管理各个类,前期容易理解,收效也快,一个星期就能实现大部分的功能。可是后期维护难,扩展性差。

改用pygame的精灵类,花了我大概两个星期的时间重写代码,越写越感觉到精灵类的强大,例如碰撞检查用list的实现代码,一层套着一层,各种判断,用精灵类,就是一行代码而已。

只是在实现子弹的动态、飞机的动态、爆炸效果的实现、屏幕切换等功能时,编写的代码又开始冗余很大。

看了cocos的python实现的思路,里面提到了层的运用,感觉是条好的路子。庆幸的是在pygame1.8版本后,增加了layer这个功能,在找到了例子,又得慢慢学习琢磨了。

最初的简单的编写代码:
 

改用精灵类后的代码

下载链接

https://gitee.com/hailler/pygameaircraft_warsprite/tree/master

猜你喜欢

转载自blog.csdn.net/hailler1119/article/details/88853111