StarBullect.cs

StarBullect 是一个极简的子弹脚本,只实现了碰撞伤害,没有移动、对象池、特效等常见机制。它没有继承 Bullect 很可能是设计用途不同(例如作为无需移动的瞬间伤害触发器)或者是未重构的遗留代码。与标准子弹类对比,它缺少了塔防游戏子弹应有的生命周期管理,需要根据实际需求决定是否要整合到 Bullect 体系中。

代码总览

public class StarBullect : MonoBehaviour

{

public int attackValue; //攻击力数值

private void OnTriggerEnter2D(Collider2D collision)

{

if (!collision.gameObject.activeSelf) return;

if (collision.tag == "Monster" || collision.tag == "Item")

{

collision.SendMessage("TakeDamage", attackValue);

}

}

}

核心方法

private void OnTriggerEnter2D()

  • 检查碰撞到的物体是否激活(activeSelf),未激活则直接返回。

  • 如果碰撞体的标签是 "Monster""Item",则调用 SendMessage("TakeDamage", attackValue) 向该物体发送伤害消息。

  • 没有调用任何销毁、回收、特效生成的逻辑。


为什么 StarBullect 没有继承 Bullect

1. 设计用途不同

  • Bullect 体系是为追踪型、飞行子弹设计的,需要移动、转向、锁定目标、对象池管理。

  • StarBullect 可能是一种不需要移动的子弹 ,例如

    从塔上发射后立即在敌人位置生成一个"星形"范围伤害触发器,不飞行。

    或者是塔的"光环"效果,每次攻击时生成一个瞬间伤害的区域。

    或者是作为炮塔的投射物,但移动逻辑由其他方式控制(如粒子系统、动画事件),不需要脚本驱动移动。

  1. 对象池策略差异
  • StarBullect 如果设计为一次性效果(例如爆炸后自动消失),可能直接使用 Destroy(gameObject, delay) 而不进对象池,因此无需继承 Bullect

差异对比

特性 StarBullect TshitBullect WindmillBullect
继承 MonoBehaviour Bullect Bullect
移动逻辑 无(需外部控制移动) 由父类或外部控制 自带追踪移动 (Translate)
生命周期管理 无(依赖外部销毁) Start 初始化 OnEnable 重置 + 计时器超时销毁
特殊效果 减速 debuff(随等级变化) 目标锁定 + 朝向修正 + 物品偏移
碰撞后行为 仅造成伤害,不销毁自身 (父类可能销毁) 造成伤害 + 特效,但未销毁自身
目标筛选 标签判断 标签判断 + debuff 传递 标签判断 + 额外判定(物品必须为目标)
依赖全局状态 依赖 GameController.Instance(暂停/结束/目标引用)

为什么没有生命周期管理(计时销毁)?

  • 星星子弹可能是瞬发命中的(飞行时间极短,或碰撞后立即由外部销毁),不需要自己计时。

  • 或者由对象池在飞出边界或命中后回收,无需在脚本内硬编码超时。

相关推荐
旧物有情20 小时前
游戏开发常用架构 #MVP,MVC
游戏·unity·架构·mvc
勇踏前人未索之境21 小时前
Unity打包运行于鸿蒙手机
unity·智能手机·harmonyos
玖玥拾1 天前
Unity 3D 笔记(十一)UI 框架进阶:栈弹窗交互、BasePanel 基类虚方法、DoTween 界面动画
笔记·3d·unity
郝学胜-神的一滴1 天前
中级OpenGL教程 023:Assimp模型加载全解——从源码到架构的骈文探秘
c++·unity·游戏引擎·cmake·unreal engine·opengl
xcLeigh2 天前
Unity基础:GameObject与Component——Unity核心架构思想彻底理解
unity·教程·component·gameobject
郝学胜-神的一滴2 天前
中级OpenGL教程 022:探秘三维世界的血脉传承——物体父子关系与矩阵递归奥义
c++·线性代数·unity·矩阵·游戏引擎·unreal engine·opengl
weixin_424294673 天前
Unity的测试Edit Mode和Play Mode,有什么区别?
unity
玖玥拾3 天前
Unity 3D 笔记(八)ScrollRect 滚动视图、NavMesh 自动寻路系统
笔记·3d·unity
淡海水4 天前
06-04-YooAsset源码-Unity加密解密服务
前端·unity·性能优化·c#·游戏引擎·yooasset