Unity中如何用通用类型禁用不同敌人的行为控制脚本?
解决方案:使用
MonoBehaviour或Behaviour类型替代Component 你可以用MonoBehaviour类型来替代代码中的Component,因为所有Unity自定义脚本都默认继承自MonoBehaviour,而MonoBehaviour继承自Behaviour类——Behaviour正是拥有enabled属性的基类,能直接控制脚本的启用/禁用。
修改后的代码示例:
public MonoBehaviour ControllerScript; // 在编辑器中拖拽对应的控制脚本组件 void SomeMethod() { ControllerScript.enabled = false; }
或者也可以直接用Behaviour类型,效果完全一致:
public Behaviour ControllerScript; void SomeMethod() { ControllerScript.enabled = false; }
这两种类型都能兼容你所有的敌人控制脚本(比如BomberController、ChargerController),因为它们本质都是MonoBehaviour的子类,编辑器里可以直接拖拽赋值,不需要针对每种敌人类型单独调整代码。
内容的提问来源于stack exchange,提问作者G-han
相关产品推荐
相关产品推荐

