我试图禁用和禁用存储在列表中的组件.当我尝试这样做时,出现以下错误:
‘Component’ does not contain a definition for ‘enabled’ and no
extension method ‘enabled’ accepting a first argument of type
‘Component’ could be found (are you missing a using directive or an
assembly reference?)
我也试过
components[4].SetActive(false);
并得到类似的错误
public List<Component> components;
...
components = new List<Component>();
components.Add(player.GetComponent<_2dxFX_HSV1>());
components.Add(player.GetComponent<_2dxFX_HSV2>());
components.Add(player.GetComponent<_2dxFX_HSV3>());
components.Add(player.GetComponent<_2dxFX_HSV4>());
components.Add(player.GetComponent<_2dxFX_Negative>());
components.Add(player.GetComponent<_2dxFX_Lightning>());
components.Add(player.GetComponent<_2dxFX_MetalFX>());
components.Add(player.GetComponent<_2dxFX_Pixel8bitsC64>());
components.Add(player.GetComponent<_2dxFX_GoldFX>());
components.Add(player.GetComponent<_2dxFX_Waterfall>());
components.Add(player.GetComponent<_2dxFX_Hologram>());
components.Add(player.GetComponent<_2dxFX_PlasmaRainbow>());
components[4].enabled = false;
如何禁用列表中的组件类型?
解决方法:
您不能启用/禁用Unity的Component
类型.
您正在寻找Behaviour
.行为是可以启用或禁用的组件.
如果将脚本引用存储为Component并希望启用或禁用它,请将其强制转换为Behavior,则可以启用或禁用它.
更换
components[4].enabled = false;
与
Behaviour bhvr = (Behaviour)components[4];
bhvr.enabled = false;
阅读this,以了解两者之间的区别.
原文地址:https://codeday.me/bug/20191025/1925480.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。