Unity 横版2D 游戏开发学习笔记 - 6:敌人AI 和特效

| 分类 横版2D游戏开发  | 标签 游戏  2D  横版  攻击  碰撞器  敌人  AI  特效  预制件  粒子特效  粒子系统 

参考【Unity 2D游戏开发教程】整理的学习笔记,对应github 的仓库地址为https://github.com/zs8861/2D-Platform

敌人受伤的红色闪烁

当武器的Collider 碰撞到敌人的Collider 后,判定为敌人受伤,那么通过红色闪烁体现敌人被击中

在2D 游戏中,其实就是改变Enemy 这个GameObject 的Sprite Renderer 组件的Color 属性来实现(先保存原始颜色,然后原始颜色和目标红色切换闪烁一段时间)


被攻击之后大概的效果如下

为敌人增加AI

实现蝙蝠敌人在一定的空间限制范围内随机移动


通过增加MovePos、LeftDownPos、RightUpPos 这几个GameObject 来设置敌人的运动范围,运行效果如下:

然后可以将敌人对象、MovePos、LeftDownPos、RightUpPos 合并到一个GameObject 下面,然后做成一个预制件,后续就可以基于这个预制件在合适的时机、合适的关卡中随机地、动态地创建出一个敌人,逐步丰富游戏。其他的敌人、机关等要素都可以类似这么做

敌人掉血粒子特效

在敌人被攻击的时候通过掉血粒子特效可以更加丰富打击感

在场景中新建一个Particle System,对其参数设置如下,并将其做成一个预制件,在需要的时候实例化并播放

完善代码,当敌人被攻击的时候播放粒子特效:


运行效果如下:

遗留问题

  1. 本次笔记中红色闪烁展示敌人被攻击只是功能说明,实际视觉效果并不好,好的被攻击效果该怎么做?
  2. 怎么增加打击感?受伤粒子特效、屏幕震动、音效,还有其他什么更多、更好的方式吗?
  3. 有什么更好的2D 素材可以增加溅血特效的视觉冲击感?
  4. Particle System 组件分别有哪些属性,各自的作用是什么?
  5. 随着游戏变大,场景中的GameObject 越来越多,工程里面的文件越来越多,怎么管理?



如果本篇文章对您有所帮助,您可以通过微信(左)或支付宝(右)对作者进行打赏!


上一篇     下一篇