欢迎加入我们卧虎藏龙的python讨论qq群:996113038
还记得公众号之前推过的简单版植物大战僵尸吗
那个时候啊
我们只有豌豆和向日葵
连僵尸都只有最简单的僵尸
就像是没充钱的玩家
十分寒碜
今天 我们升级成人民币玩家啦
进阶版植物大战僵尸来袭
这效果前后差的可不是一点点
什么?你想看看?
快往下滑吧
1:关注“python趣味爱好者”公众号,回复“ game43”获取源代码。
2:加入群聊:996113038。在群文件中下载源代码以及相关资料。
python3.6.4
第三方库:pygame,os,json,
对于植物大战僵尸的规则,相信大家都很熟悉。相对于之前讲过的游戏,植物大战僵尸在操作上最大的特点在于,用鼠标点击的操作更多。所以,我们先讲一讲如何获取鼠标操作相关的知识。如下图:
我们用一个def获取和出现所有的键盘点击以及鼠标动作。从代码中我们可以看出,for event in pygame.event.get()这个循环,可以获取所有和鼠标键盘的操作,这是pygame中很灵活的一个功能。
在获取到鼠标的点击以后,我们就需要得到鼠标点击的位置。
self.mouse_click[0], _, self.mouse_click[1] = pg.mouse.get_pressed()
这句话的意思就是获取鼠标点击的横坐标和纵坐标。这样,我们就知道了,这一次鼠标点击的位置在哪里。
当然,这个event包含的其实是一个完整的事件,鼠标的动作(左键,右键),鼠标点击的位置都在里面。
另外:我们来简单看一看《植物大战僵尸》的原理。
里面有不同的僵尸,不同的植物,甚至不同的地图。
比如说,在植物里面就有很多种:最基本的向日葵,豌豆射手,坚果。这些都是最常规的装备,此外,还得有一些大规模杀伤性武器,比如机枪射手,食尸花之类的。
因为不同的植物有不同的属性,我们就需要用不同的类来表示植物。
当然,对于僵尸,我们也要定义这样的类来表示不同的僵尸。因为和植物一样,僵尸的种类也是多种多样的。
这个游戏是《植物大战僵尸》进阶版,不像原来的那个只有单一的僵尸。
还有一个变化就是僵尸移动的操作是连帧的。而不是像原来那个完全是平移的。这样一来,我们就需要了解动画连帧操作。
大家可以看这一组图片。
咋一看,这就是一组普通的僵尸,每个图片都是一样的,其实仔细看的时候就会发现,每个图片僵尸的动作都是有细微差别的。在僵尸行走的过程中,我们实际上是在不断地切换着一组图片。这样下来,我们看到的僵尸的动作就是连贯的。
从小玩到大的植物大战僵尸竟然也可以用python做出来
除了生孩子什么都能干果然名不虚传
用PY做的和网站上的玩起来感觉不一样呢
不信?你试试咯
本期分享到此结束
很高兴你能看到最后
作者|齐
编辑|潇洒哥
感谢大家观看
有钱的老板可打赏一下小编哦
https://github.com/marblexu/PythonPlantsVsZombies
作者:
marble_xu