Unity Editor类常用方法

http://www.cnblogs.com/zhaoqingqing/p/3944718.html

一些比较常用的Editor功能我在之前的博客中也有提到过所以就不详细写啦,今天参考了一下 麒麟子(Alex) 的博客,写的很全面,转载部分内容过来

EditorApplication 主应用程序类

这个类提供了许多变量的访问,同时提供了Save等方法。 比如,你可以新建一个编辑器脚本,在它的UPDATE函数里,进行记事,以做定时保存。从而避免不必要的损失。

这个类还提供了新建场景,打开项目等操作。

如果你是在界面下使用UNITY3D,可能这个类的意义不大。 但如果你是基于U3D的命令行来构建一个一键式多平台发布方案。那这个类的地位就举足轻重了。 说到命令行,这个改天有空再和大家细说。 U3D是一个强大的工具,完全可以取代自主研发的引擎。 不管是从自动化部署还是自定义工具上,都很强大。 关键看你打不打算花时间去这样用。

当然我们在制作自己的编辑器工具时也有使用到它来做一些初始化场景的工作。

BaseHierarchySort

在Hierarchy中,所有对象默认是按首字母排序。 如果我想根据创建日期,或者是根据地理位置,又或者根据对象类型来排序,如何做呢。 这就需要用到BaseHierarchySort,我们可以重写它的Compare方法,同时,我们添加几个菜单来做切换。就能使我们的工作很加便利了。

EditorUtility

一看明字就知道,这货肯定提供了不少全局函数,并且多半是静态的。比如,你想弹出一个打开文件的对话框,或者保存文件的对话框。或者你要查看场景树中的某个对象是enable与否,都可以通过它来访问。更好的是,他还提供了一个弹出对话框。 你想做一些让用户选择是否确定的,或者显示一个About,可以使它。

参见:http://game.ceeger.com/Script/EditorUtility/EditorUtility.html

FileUtil  文件工具

这个类提供了一些文件拷贝,移动位置等操作,在命令行模式进行自动布署的时候,使用居多。

Help

在你的编辑器中,如果你觉得你的文字不足以表达,或者需要用户查询相关文档,那你可以使用HELP,它提供了打开网页地址的功能。

ObjectPreview 创建自定义预览

这个类提供了你当前选择的对象数据。 比如,在上面显示攻击和侦测范围的例子中,如果我们只是想让选中的单位才显示预览,那我们可以通过这个类的target来判定。

可以查看NGUI的UISPriteInspector.cs文件,对Sprite做了预览处理

Tools 工具类,可以更好的自定义编辑器

这个类提供了对象批量查找功能,比如,如果我们的工具,想对某一类对象进行打包。 那我们直接使用FindObjectsOfType,拿到所有的对象即可。 TOOL还提供了实例化对象的功能。

时间: 2024-10-10 07:09:28

Unity Editor类常用方法的相关文章

Unity Editor Extensions – Custom Inspectors

?? 转载请注明出处:http://blog.csdn.net/u010019717 更全的内容请看我的游戏蛮牛地址:http://www.unitymanual.com/space-uid-18602.html 这是在"Unity Editor Extension"系列的第 2 次帖子. post描述了为创建自定义inspectors面板在 Unity 编辑器的基本步骤.在该系列的下一个posts,我将深入探讨更高级的主题,例如inspectors及Unity's serializa

Unity Editor 执行时机的问题

在上上篇博文,我提到了Unity编辑器. 即引用 Unity Editor命名空间,且添加[CustomEditor(typeof(Class))] 就可以定制对应Class的Inspector面板. 但这个类本身,也就是ClassEditor的执行事实上并不需要启动Unity项目 这个并不是什么很难发现的事情,因为编写Editor的过程中,对应类的Inspector面板就会变化 只不过如果这个Editor类存在编译错误的话,就会直接报错,从而项目无法启动 原文地址:https://www.cn

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t

Paint类常用方法

Paint类常用方法 void  setARGB(int a, int r, int g, int b)  设置Paint对象颜色,参数一为alpha透明通道 void  setAlpha(int a)  设置alpha不透明度,范围为0~255 void  setAntiAlias(boolean aa)  //是否抗锯齿 void  setColor(int color)  //设置颜色,这里Android内部定义的有Color类包含了一些常见颜色定义 . void  setFakeBold

java-String类常用方法解释笔记

参考注释即可. 1 /*H4ckSo1di3r 2015年2月4日 下午11:55:07*/ 2 package Demo; 3 4 public class TestStringClass_测试String类 { 5 6 7 public static void main(String[] args) { 8 9 // ================================================== 10 // 1.String类常用构造方法 11 //String() 无

Unity 改变类模板-为你的类添加一个命名空间

之前在写代码的时候,就很疑惑为什么创建类的时候.没有命名空间呢?   后来自己的类终于和别人写的类名字有冲突.... 如何修改Unity创建类的模板呢?  找到下面这个文件 然后修改 保存文件在Unity中创建一个新的类(你就会发现创建出来的新类截然不同了)

java File类常用方法

file类常用方法 delete()删除此抽象路径名表示的文件和目录. equals()测试此抽象路径名与给定对象是否相等. exists()测试此抽象路径名表示的文件或目录是否存在. getName()返回由此抽象路径名表示的文件或目录的名称. isDirectory()测试此抽象路径名表示的文件是否一个目录 isFile()测试此抽象路径名表示的文件是否是标准文件. length()返回此抽象路径名表示的文件长度. mkdir()创建此抽象路径名指定的目录.

Objective-C 几何类常用方法整理

Objective-C  几何类常用方法整理 CGGeometry参考定义几何结构和功能,操作简单.数据结构中的一个点CGPoint代表在一个二维坐标系统.数据结构的位置和尺寸CGRect代表的一个长方形.数据结构的尺寸CGSize代表宽度和高度. 1.创建一个几何原始数值    CGPoint  CGPointMake(CGPoint A,CGPoint B) 返回一个指定坐标点 CGRect   CGRectMake(CGFloat x,CGFloat y,CGFloat width,CGF

[cb]Unity Editor Toolbar 编辑器扩展

1.Apply to Prefab [把改动应用到Prefab] if (GUILayout.Button("Apply Collider To Prefab")) { PrefabUtility.ReplacePrefab(simActor.Preview, PrefabUtility.GetPrefabParent(simActor.Preview), ReplacePrefabOptions.ConnectToPrefab); }     2.Current SceneView