Unity 横版2D 游戏开发学习笔记 - 5:敌人设计

| 分类 横版2D游戏开发  | 标签 游戏  2D  横版  攻击  碰撞器  Tag  状态机  模板设计模式 

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

设计一个敌人

在Aseprite 制作的一个蝙蝠怪,导入到Unity 之后,参考《Unity 横版2D 游戏开发学习笔记 - 1:Unity 2D 动画基础》 将其拆分,制作成动画,效果如下:

攻击逻辑

攻击的逻辑是通过碰撞器实现的,逻辑阐述如下:

  1. 如果玩家没有Attack 行为,蝙蝠的碰撞器碰到玩家的碰撞器,则玩家受伤
  2. 如果玩家有Attack 行为,武器的碰撞器碰到蝙蝠的碰撞器,则蝙蝠受伤

综上,针对这个简单的攻击逻辑,涉及到三个碰撞器,以及它们之间的不同碰撞关系逻辑对应不同的业务逻辑

Enemy 上的脚本逻辑如下:


敌人抽象类

后续需要扩展不同的敌人,不同的敌人不同的攻击逻辑、属性值配置不同,所以可以基于模板设计模式抽象敌人的设计,设计一个抽象的Enemy 父类,后续不同的敌人都继承自它实现自己的个性化逻辑,有自己个性化的属性


现在只有一个蝙蝠敌人,可以直接继承它


遗留问题

  1. 攻击逻辑基于碰撞器和Tag 来实现,游戏工程越来越大,该如何规划和管理碰撞器、Tag?
  2. 敌人的生命值、伤害值一般都是策划可设置的,比如不同类型的敌人配置的值是不同的
  3. 设计多样、丰富的敌人有什么好的指导方法?



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


上一篇     下一篇