Unity:Publics不显示在默认引用/检查器中..?

时间:2012-07-28 18:41:51

标签: c# monodevelop unity3d

我现在已经尝试了好几个小时,但我不知道出了什么问题。

通常,在Unity C#中定义公共对象/ var时,它会显示在检查器或默认引用中,您可以在其中拖动内容。

这是我的测试代码:

using UnityEngine;
using System;
using System.Collections;

[Serializable]
public class modGlobals : MonoBehaviour {

    public static GUIStyle defaultMask;
    public GUIStyle trollo;

}

... Aaaaaand

Object doesn't show up

我尝试了几个选项,在MonoDev中也用Visual Studio编写了这个东西,将我的所有文件放在命名空间中,w和没有Seri​​alizable attribe但是......可能有什么问题?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

是的,您需要将它附加到场景中的gameObject,以便在属性检查器中显示公共成员,因为您的脚本继承自MonoBehaviour。

这就是我得到的。 The property inspector in scene view.

此外,即使标记为SerializableAttribute,也无法在属性检查器中公开静态成员。 System.SerializableAttribute在此声明类型上无效。它仅适用于“class,struct,enum,delegate”声明。

关于您要求使用对象的全局可访问脚本的注释,您有几个选项,例如

  • 附加到gameObject(example)的Singleton脚本,使用DontDestroyOnLoad()设置,以便在场景更改之间保持不变。
  • 静态课程