unity通过预制体触发碰撞事件

简单说就是我点击鼠标创建子弹,然后子弹击中物体进行积分,现在就是单击鼠标进行实例后的预制体触发不了积分事件,如果只是单纯的对实例进行控制就可以积分,现在我需要的就是通过创建物体击中怪物进行积分
子弹代码

img


物体代码

img

个人感觉 子弹代码中是不是过于复杂了
由于TriggerEnter的属性,导致物体碰撞期间只执行一次代码
通过判断接触的物体的tag标签类来判断是否对玩家进行(加/减)分的机制
你这个可以直接改成判断完是否发生碰撞、碰撞物体是否属于tag类两次判断之后,直接给予玩家分数

点击鼠标生成的预制体和物体是如何进行绑定的? 也就是在物体代码中定义的‘PlayerControl’类是如何被赋值的。

建议你的创建一个管理类,来控制生成子弹预制体,并计算碰撞得分计算逻辑。物体类和子弹类只进行碰撞检测之后的逻辑(得分回调,碰撞几次销毁等)

管理类包含;

  1. 创建子弹
  2. 子弹碰撞回调(即得分逻辑)
  3. 若后续还有需求,还可控制物体生成等等...