个人学习第四章节:脚本编辑
1.当项目中需要有复杂计算显示在Inspector界面中,建立自定义检查器。
在一个脚本spt1中创建两个成员对象A,B,将A设置为public,可在Inspector界面调整。
B的值通过A对象计算得到,当你在Inspector界面修改A的数值,想让B自动修改,这时候除了将B添加到Update()内,还可以通过新建另一个脚本spt2继承自Editor,重写方法OnInspectorGUI( )方法。
在类前增加[CustomEditor(typeof(spt1))]
然后方法内指定脚本对象 spt1 myTarget = (spt1)target;
myTarget.A = EditorGUILayout.IntField(“自定义名称”,myTarget.A);
EditorGUILayout.LabelField(“自定义名称”,myTarget.B.ToString());
这样你在Unity界面中(如未生效运行即可),调整A的数值,B的数值也会显示出来,并且实时变化。
2.DrawDefaultInspector( )
创建默认检查器,有点类似于OnInspectorGUI( )中调用父方法,将脚本中Public对象显示出来。
3.EditorGUILayout.HelpBox("这是一个注释框", MessageType.Info)
添加一个注释框
4.GUILayout.Button("Build Object")
在OnInspectorGUI( )中调用该方法创建一个按钮,被点击时该方法返回True,所以写在if语句中
诸如 if(GUILayout.Button("Build Object"))
{
xxx;
}
5.Unity的菜单栏也是可以通过脚本自定义的,这里暂时用不到,先不深究了。