目录
开发工具
讲解部分
一、前言
二、资源准备
三、代码文件
四、整体思路
五、尾声
开发工具
python3.6.4
第三方库:pygame,json
讲解部分 一、前言之前发过一些比较复杂的游戏代码,是一个塔防游戏,比较粗糙。之前本来是想以后慢慢补充的。结果后来没人提醒我,挖的这个坑直接忘记了,再重新看这个代码的时候,已经过了蛮久了。啥都不记得了,更别提修改了。不过想起了之前发的一个植物大战僵尸,这个代码更加复杂,可能会多准备几期做植物大战僵尸的代码讲解,让大家更好的理解比较复杂的游戏。
二、资源准备植物大战僵尸和以前的小游戏不一样,这是需要很多图片的,由于图片太多了且种类丰富,我们专门建立一个文件夹,讲这些图片分门别类的存放好,文件夹的名称就是resources,其中有一个文件夹graphics
这里面有子d,卡片,植物,僵尸,地图等种种图片,我们点开植物Plants看一看。
这里面是各种植物的图片,如果想要增加新的图片种类,可以在这里添加即可。
当然,并不是所有的植物都是一个文件夹,然后文件夹里面所有的图片都一样,有些时候,一个植物完成一次攻击可以分成几个动作,比如说“倭瓜”,这样就需要好几个不同动作的图片。程序运行的时候将这几个图片依次放出来,这样就形成了一次完整的攻击动作。
同理,一个僵尸的行走动作也可以分成很多步骤,程序运行的时候,这些动作依次展示出来即可。
三、代码文件这个游戏很复杂,需要很多个py文件,于是我们建立了一个
source文件夹,专门用于存储这些py文件。这个文件夹下由一个main.py文件,一个constants.py文件,里面存储的是一些比较重要的常量,以及一个tool文件,是用来控制程序运行的。之后的推送里,我们会依次介绍这些文件的作用。
在其它的文件中,也放了一些py文件。比如在component文件中,放置了植物的类,僵尸的类,以及地图的类。
四、整体思路其实所有的游戏在游戏思路上都差不多,核心是一个while true循环,保证游戏可以一直玩下去,然后中间有一些跳出循环的代码块,比如说,如果所有的僵尸都被打死了,那么跳出循环,游戏结束。或者说,僵尸进入了你的房间,这种情况下也是游戏结束。在循环中,通过设置游戏屏幕帧率变化,可以让静态的图片变成动态的视频画面。也就是,每一次循环中,各种游戏元素按照各自的特点移动,僵尸肯定是按照各自的速度向左前进,一个僵尸的行走动作可以拆分为好几个图片,然后依次放出这些图片。这就构成了僵尸的移动。
同理,植物发起攻击的过程中,也会发射子d,子d也要按照各自的速度移动,有一些攻击方式比较复杂的植物,比如地刺,倭瓜,也要拆分为个攻击步骤。
而这些,需要通过设置不同的植物和僵尸类来表示,之后我们会一节节讲出来。
五、尾声感兴趣的朋友可以先点个收藏+关注,之后有代码的部分也可以分享给大家,我这里也整理了一套Python学习路线跟资料,比较适合新手,戳下面名片找小助理领取
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)