所以,我有一个Cinemachine虚拟相机,我需要分配给检查人员,但问题是它是一个公共静态的,所以它没有显示在检查。我试着把探长设为Debug,但还是没出现。我需要让它公开和静态,因为我需要从另一个脚本访问它。
正如您可能知道的那样,它并不能使它只公开,因为在另一个脚本中它是不可访问的。不管有没有SerializeField,我都试过了,结果还是一样。
还有其他方法可以通过其他脚本访问它吗?如何解决我的问题?
发布于 2022-01-02 13:47:29
您可以尝试使用FindObjectOfType(),如果您在您的级别上只有一台相机,以便在“清醒”时引用它,并使您喜欢的更容易
public static CinemachineVirtualCamera Cam;
private void Awake()
{
Cam = FindObjectOfType(CinemachineVirtualCamera);
}如果您真的想让静态字段可以在检查器中进行更改,您可能需要查看单点和自定义检查器,但我对这些字段还不太熟悉,无法给您提供建议。
发布于 2022-01-02 17:16:58
如果您使您的类为单例(即在清醒状态下执行instance=this ),则可以这样做:
public static myField {get { return instance._myfield;}}https://stackoverflow.com/questions/70556235
复制相似问题