unity3d游戏开发之Unity自定义编辑器界面.doc_第1页
unity3d游戏开发之Unity自定义编辑器界面.doc_第2页
unity3d游戏开发之Unity自定义编辑器界面.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

好吧,我承认自己是个强迫症患者,在做项目的时候 发现脚本的Inspector面板上暴露的密密麻麻的变量头皮一阵发麻举个例子 比如我要写 一个 Enemy的类,我希望这个Enemy里面包括了所有的 敌人类型,比如 飞机 坦克等等。但是由于类型不同,他们的一直变量类型也不同,比如 坦克的 变量类型可能有 移动速度,子弹类型,或者其他的,飞机的变量类型有飞行速度,等等。如果不加整理 那么在Inspector 面板就会暴露出密密麻麻的 变量 不仅头晕,而且不利于调试。其实就是我强迫症发作了,我只想面板显示我想要的东西。好吧 下面开始首先 我新建一个 test1 脚本 C#这篇文章来自狗刨学习网我们的目标是通过枚举类型来定义当前物体的类型。如果m_type是 player,那么就显示 playerlife;如果是 enemy 就显示enemylife。下面我们需要写一个脚本去重写Inspector界面。新建一个文件夹 命名为 Editor 因为我们需要using unityEditor 而是用这个的脚本必须在名字为Editor 的文件下。在Editor 文件下创建一个C#新脚本 名字随意 我的叫 Inspector_test1首先 头部 加入 using UnityEditorCunstomEditor(typeof(test1)继承改为 Editor首先我们要序列化一个物体 就是说脚本会附在一个Object上还有脚本的变量在OnEnable() 里面 初始化 Objcet对象 抓取脚本里面的属性然后 再重写 OnInspectorGUI()首先是更新脚本的信息test.Update();然后显示枚举类型变量 m_type 这个变量是一定要暴露出来的 因为通过它来定义这个物体的属性 是player 还是 enemyEditorGUILpertyField(m_type);然后 我们来判断这个m_type是哪个值 是player 还是enemy.我们通过SerializedProperty.enumValueIndex 枚举值索引 来检索当前枚举类型的变量值是哪个例如在 type 枚举类型里面 player 的枚举值索引下标为 0 enemy的枚举值索引下标为 1这样 我们通过判断 m_type 的 枚举下标的值就可以推断出 当前值的哪一个,进而进行相关的操作了。最后,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论