Unity3D游戏开发教程——自定义编辑器窗口
今天小编在网上查找相关资料,无意间看到Unity3D游戏开发教程——自定义编辑器窗口,特地整理好希望对大家的学习有所帮助。
如何创建你的自定义编辑窗口?
如果你在Unity3D游戏开发教程学习过程中,想自定义一个可编辑的面板,那么就需要编写一个继承自EditorWIndow的类。一般情况下,你还需要写一个[MenuItem],来告知编译器何时打开这个面板。记住:这个事件的回调应该是一个静态方法,并且返回一个窗口的实例。
定义好之后,当你点击对应的菜单项时,会弹出一个空白的窗口。并且你可以像Unity3D编辑器预制的窗口一样随意拖动和停靠。
如何扩展你的自定义编辑窗口?
在Unity3D游戏开发教程(http://www.new***/)中,我们经常会遇到需要扩展你的自定义编辑窗口的情况,那该怎么做呢?和运行时的GUI一样,如果你需要在窗口中添加交互控件,那么必须重写OnGUI方法。
具体的重写方式和运行时的GUI一样(可以在菜鸟在线观看教学视频进行学习),你甚至可以使用任何扩展自原生GUI系统的插件(例如iGUI和GUIX)来简化你的插件开发流程(仅经过初步测试,更深层次的可用性尚待验证)。
同时UnityEditor名称空间下的EditorGUILayout在原生GUI之上提供了一些更方便的接口和控件,让你可以轻松的使用一些编辑器特有的UI控件。
除了OnGUI外,你可能还会需要如下一些回调来触发某些具体的逻辑(完整的列表请参考文档):l OnSelectionChange,但你点选物品时触发;l OnFocus /OnLostFocus,获得和失去焦点时触发。
如何创建你的自定义编辑窗口?
如果你在Unity3D游戏开发教程学习过程中,想自定义一个可编辑的面板,那么就需要编写一个继承自EditorWIndow的类。一般情况下,你还需要写一个[MenuItem],来告知编译器何时打开这个面板。记住:这个事件的回调应该是一个静态方法,并且返回一个窗口的实例。
定义好之后,当你点击对应的菜单项时,会弹出一个空白的窗口。并且你可以像Unity3D编辑器预制的窗口一样随意拖动和停靠。
如何扩展你的自定义编辑窗口?
在Unity3D游戏开发教程(http://www.new***/)中,我们经常会遇到需要扩展你的自定义编辑窗口的情况,那该怎么做呢?和运行时的GUI一样,如果你需要在窗口中添加交互控件,那么必须重写OnGUI方法。
具体的重写方式和运行时的GUI一样(可以在菜鸟在线观看教学视频进行学习),你甚至可以使用任何扩展自原生GUI系统的插件(例如iGUI和GUIX)来简化你的插件开发流程(仅经过初步测试,更深层次的可用性尚待验证)。
同时UnityEditor名称空间下的EditorGUILayout在原生GUI之上提供了一些更方便的接口和控件,让你可以轻松的使用一些编辑器特有的UI控件。
除了OnGUI外,你可能还会需要如下一些回调来触发某些具体的逻辑(完整的列表请参考文档):l OnSelectionChange,但你点选物品时触发;l OnFocus /OnLostFocus,获得和失去焦点时触发。