unity3d游戏开发之unity自定义编辑器界面

unity3d游戏开发之unity自定义编辑器界面

ID:8973891

大小:61.00 KB

页数:3页

时间:2018-04-13

unity3d游戏开发之unity自定义编辑器界面_第1页
unity3d游戏开发之unity自定义编辑器界面_第2页
unity3d游戏开发之unity自定义编辑器界面_第3页
资源描述:

《unity3d游戏开发之unity自定义编辑器界面》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、好吧,我承认自己是个强迫症患者,在做项目的时候发现脚本的Inspector面板上暴露的密密麻麻的变量头皮一阵发麻~~~举个例子比如我要写一个Enemy的类,我希望这个Enemy里面包括了所有的敌人类型,比如飞机坦克等等。但是由于类型不同,他们的一直变量类型也不同,比如坦克的变量类型可能有移动速度,子弹类型,或者其他的,飞机的变量类型有飞行速度,等等。如果不加整理那么在Inspector面板就会暴露出密密麻麻的变量不仅头晕,而且不利于调试。其实就是我强迫症发作了,我只想面板显示我想要的东西。好吧下面开始首先我新建一个test1脚本C#这篇文章来自狗刨学习

2、网我们的目标是通过枚举类型来定义当前物体的类型。如果m_type是player,那么就显示playerlife;如果是enemy就显示enemylife。下面我们需要写一个脚本去重写Inspector界面。新建一个文件夹命名为Editor因为我们需要  usingunityEditor而是用这个的脚本必须在名字为Editor的文件下。在Editor文件下创建一个C#新脚本名字随意我的叫Inspector_test1 首先头部加入usingUnityEditor [CunstomEditor(typeof(test1))]继承改为Editor 首先我们要

3、序列化一个物体就是说脚本会附在一个Object上  还有脚本的变量  在OnEnable()里面初始化Objcet对象抓取脚本里面的属性然后再重写OnInspectorGUI()  首先是更新脚本的信息test.Update();然后显示枚举类型变量m_type这个变量是一定要暴露出来的因为通过它来定义这个物体的属性是player还是enemy EditorGUILayout.propertyField(m_type);然后我们来判断这个m_type是哪个值是player还是enemy. 我们通过 SerializedProperty.enumValu

4、eIndex枚举值索引来检索当前枚举类型的变量值是哪个  例如在type枚举类型里面player的枚举值索引下标为0enemy  的枚举值索引下标为1这样我们通过判断m_type的枚举下标的值就可以推断出当前值的哪一个,进而进行相关的操作了。最后,通过SerializedObject.ApplyModifiedProperties应用修改的属性效果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。