unity3d游戏开发之Unity自定义编辑器界面.doc

unity3d游戏开发之Unity自定义编辑器界面.doc

ID:62151874

大小:55.00 KB

页数:2页

时间:2021-04-19

unity3d游戏开发之Unity自定义编辑器界面.doc_第1页
unity3d游戏开发之Unity自定义编辑器界面.doc_第2页
资源描述:

《unity3d游戏开发之Unity自定义编辑器界面.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、个人收集整理勿做商业用途好吧,我承认自己是个强迫症患者,在做项目的时候发现脚本的Inspector面板上暴露的密密麻麻的变量头皮一阵发麻~~~ﻫ举个例子比如我要写一个Enemy的类,我希望这个Enemy里面包括了所有的 敌人类型,比如飞机 坦克等等。ﻫ但是由于类型不同,他们的一直变量类型也不同,比如坦克的 变量类型可能有 移动速度,子弹类型,或者其他的,飞机的变量类型有飞行速度,等等。如果不加整理那么在Inspector 面板就会暴露出密密麻麻的变量不仅头晕,而且不利于调试。其实就是我强迫症发作了,我只想

2、面板显示我想要的东西。ﻫ好吧下面开始首先我新建一个test1 脚本C#ﻫ这篇文章来自狗刨学习网我们的目标是通过枚举类型来定义当前物体的类型。如果m_type是player,那么就显示playerlife;如果是enemy就显示enemylife。ﻫ下面我们需要写一个脚本去重写Inspector界面。ﻫ新建一个文件夹命名为Editor 因为我们需要  using unityEditor 而是用这个的脚本必须在名字为Editor的文件下。在Editor文件下创建一个C#新脚本名字随意我的叫Inspector_

3、test1 ﻫﻫ首先头部加入usingUnityEditor ﻫ个人收集整理勿做商业用途[CunstomEditor(typeof(test1))]继承改为 Editor ﻫ首先我们要序列化一个物体就是说脚本会附在一个Object上  还有脚本的变量  在OnEnable()里面初始化Objcet对象抓取脚本里面的属性ﻫ然后 再重写OnInspectorGUI()  首先是更新脚本的信息test.Update();ﻫ然后显示枚举类型变量 m_type这个变量是一定要暴露出来的因为通过它来定义这个物体的属性

4、 是player还是 enemy ﻫEditorGUILayout.propertyField(m_type);ﻫ然后我们来判断这个m_type是哪个值 是player还是enemy. ﻫﻫ我们通过 SerializedProperty.enumValueIndex枚举值索引来检索当前枚举类型的变量值是哪个  例如在 type枚举类型里面player的枚举值索引下标为0 enemy  的枚举值索引下标为1这样我们通过判断m_type的枚举下标的值就可以推断出当前值的哪一个,进而进行相关的操作了。最后,通过

5、ﻫSerializedObject.ApplyModifiedProperties应用修改的属性效果 ﻫﻫ

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

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

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