1

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

通常,当您在 Unity C# 中定义公共对象/变量时,它会显示在检查器或默认引用中,您可以在其中将某些东西拖到它上面。

这是我的测试代码:

using UnityEngine;
using System;
using System.Collections;

[Serializable]
public class modGlobals : MonoBehaviour {

    public static GUIStyle defaultMask;
    public GUIStyle trollo;

}

啊啊啊...

对象不显示

我尝试了几个选项,在 MonoDev 和 Visual Studio 中一样编写了东西,将我所有的文件放在一个命名空间中,w 和 w/o 可序列化属性但是.. 有什么问题?

感谢帮助!

4

1 回答 1

1

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

这就是我得到的。 场景视图中的属性检查器。

此外,您不能在属性检查器中公开静态成员 - 即使标记为 SerializableAttribute。System.SerializableAttribute 在此声明类型上无效。它仅对“类、结构、枚举、委托”声明有效。

关于您关于需要具有对象的全局可访问脚本的评论,您有几个选项,例如

于 2012-07-29T15:27:44.173 回答