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(暂停/结束/目标引用)

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

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

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

相关推荐
小贺儿开发8 小时前
Unity 结合百度AI开放平台 手写文字识别
人工智能·科技·学习·unity·云服务·文字识别·手写文字
林川~0120 小时前
Unity 万能物理检测工具:射线检测 / 范围检测 / 层级过滤 / 编辑器可视化(可直接拿去用)
游戏·unity·c#·射线检测·通用工具
yi碗汤园1 天前
MQTT消息队列遥测传输协议
网络·网络协议·unity
林川~011 天前
Unity 常用 API 与核心类全解:从生命周期到协程,附性能避坑清单(Unity 6 适配)
unity·游戏引擎·常用api
sensen_kiss1 天前
CPT306 Coursework 1 个人游戏作业——坦克大战
unity·游戏程序·游戏策划
蒸鱼Yuzheng1 天前
Unity 与 Unreal 测试工具怎么回答:Profiler、日志、自动化与证据链
测试工具·unity·性能分析·游戏测试·unrealengine
野区捕龙为宠1 天前
Unity WebGL平台 通过 URL 加载图片(UGUI RawImage / 模型材质)
unity·团结引擎
阿松爱学习2 天前
【Unity开发】FileStream 详解及用法指南
unity·c#·unity开发
想做后端的前端2 天前
Unity-UIGI优化Rebatch与Rebuild
unity
玖玥拾3 天前
Unity Shader 基础与图形学(一)
unity·图形渲染·图形学·shader