写在类前,可以在运行时候实时更改
[ExecuteInEditMode]
Public Class{
void TestClickAction(){
Print("test aaa");
}
}
比如原本写好的Debug.Log("aaa");
运行之后会打印aaa,直接在脚本中修改Debug.Log("bbb");
则会打印bbb;(这些都是在运行状态下操作)
MenuItem
脚本位于Editor下
[MenuItem("菜单/测试打印")]
public static void printTest()
{
Debug.Log("print success");
}
AddComponentMenu脚本位于Sprites下
[AddComponentMenu("菜单组件/Test")]
Test.cs是脚本,不需要挂载,编辑之后保存一下
点击物体可以直接在component中选择Test.cs脚本添加
自定义Inspector
隐藏属性显示 (HideInInspector)
不显示的属性(NonSerialized)
关键字序列化(Serializable)
序列化域(SerializeField)
例:
public class Test:MonoBehaviour{
[HideInInspector]//隐藏属性
public int y=3;
[SerializeField]//显示私有
private int z = 5;
界面的相关事件机制总共有9个:
1.public void OnGUI()->绘制窗口
2.public void Update()->刷新方法,100次/秒
3.public void OnInspectorUpdate()->刷新方法,比Update()少
4.public void i ()->选择一个对象
5.public void OnDestroy->销毁窗口
6.public void ()->获得焦点
7.public void OnLostFocus()->失去焦点
8.public void OnHierarchayChange()->Hierarchay视图窗口文件发生改变
9.public void OnProjectChange()->Project视图窗口文件发生改变