本日志写于2019/05/06
本开发基于Taikr孙老师的[飞机大战游戏开发]开发教程(av42200786)
本开发之前已经进行了一部分,由于自己太懒,所以不再补充之前的开发日志。
开发现状
- 截止至本日志前,已进行了35%左右的开发,基本已经实现了以下功能:
- Player的正常移动控制及运行动画的播放
- Enemies的动画、生成、受伤、击毁
- Awards的生成
- 本篇主要内容为记录Awards奖励功能的实现
开发目的
- 实现Awards的奖励功能
- Player碰撞到Awards时,获得左右高等级武器的权限
- 权限持续10s后自动结束
开发思路
- 碰撞检测
- Awards检测与Player的2D碰撞,检测后对Player进行SendMessage,后销毁自身
- 直接利用Player对Awards进行碰撞检测,后利用OnTriggerEnter2D进行功能实现
- 检测碰撞方法1需要为Awards另外编写脚本以服务触发事件,占用了更多空间,利于维护以及后与功能的实现
- 检测碰撞方法2,需考虑后续检测Player与敌机碰撞检测时代码事件的叠加性
- 方法一:通过激活高等武器的Active属性实现
- 碰撞检测
- Player接收到指令后运行函数
- 该函数需做到:
- 激活高等武器的权限的功能
- 计时功能
- 计时结束后再次关闭武器权限的功能
- 方法二:通过生成高等武器的实例进行实现
- 碰撞检测
- Player接收到指令后实例化高级武器(于两侧机翼)为子物体
- 计时功能
- 销毁子物体
- 方法比较
- 方法一可以直接利用物体Active属性,更容易实现所需功能,并且由于已经预加载了高级武器,不会出现由于技能不足出现的卡顿
- 方法二只在需求的时候实例物体,释放了运行时的空间
- 综合意见
- 由于本项目物体资源并不大,故可以只考虑实现难易度,选择方法一。
暂无关于此日志的评论。