上周末和孩子们打了个赌,如果他们一周的作业都能按时完成,阿达就给他们做一个他们最喜欢的游戏。结果班里的每个孩子竟然都没有掉队,一周的余文、数学、英语作业全部多完成了,一个也没有掉队。
阿达老师也得实现自己的赌约了,孩子们一开始挑了一个叫《第五人格》的游戏。玩儿过这个游戏的朋友都知道,这个游戏有些恐怖,怕学校领导不答应,就换了一个,他们果然不负众望的选了《吃鸡》。自己挖的坑自己填,索性把吃鸡的游戏制作过程记录下来。以后带着孩子做成一个大项目。
1. 画地图
和王者荣耀一样,吃鸡游戏最麻烦的地方是找地图。阿达老师这次使用一个新方法完成地图的制作,使用tiled自己创作一个游戏地图。
tiled介绍 https://www.mapeditor.org/
tiled简单来说就是一个地图编辑器,在tiled上我们可以构建一个自己想要的游戏地图。
tiled配合python或者java还有很多更高级的玩儿法,这里我们用它最基础的功能:画地图,并且到处png图片。
接下来就可以发挥自己的创意构建地图啦,这是我创建的:
2. 玩家
- 玩家角色很幸运,在opengame里找到了抢手角色。我们大逃杀的角色就用这组图片了
- 初始化初始化的功能和之前做的游戏类似,都是一个套路。
- 枪手移动通过键盘的上下左右键控制枪手的移动,我们直接在时钟周期事件中完成这个功能。
3. 瞄准镜
大逃杀是一个枪战游戏,我们用鼠标来控制枪手设计的方向。代码很简单,但是在造型上我们用了一个小技巧。我们让造型的中心点位于瞄准器的左侧。
4. 子弹
当按下空格键时发射子弹,这里核心也要用到克隆。在游戏周期中,子弹本体响应空格按键,克隆体移动自己发射出去。
5. 敌人
敌人和枪手类似,为了方便区分,我们给敌人加上了颜色特效。在游戏中,会有一套控制敌人自己移动的脚本。这个脚本我们叫做AI自动控制脚本。当然,这个游戏里的AI傻傻的,一点也不聪明。只会每个三秒移动一段距离。
6. 敌人发射子弹
敌人也能发射子弹,所以,我们要记录子弹是敌人发射的还是枪手发射的。如果是敌人发射的,子弹初始位置因为位于敌人的位置。并且面向枪手。这块逻辑有点复杂。
7. 子弹击中
当子弹击中枪手或者敌人后,游戏结束。
what next?
大逃杀的单图版本就开发完成了,这个游戏还有很多没有完成的坑。比如:这些问题我们一并在多图版本中实现掉。大家有什么问题可以随时咨询阿达老师哈!