在菜单栏添加按钮

新建脚本,无需继承mono,start update方法,引用命名空间usingUnityEditor;

定义按钮

菜单栏显示名称/按钮名称, MenuItem可以在任何脚本内使用

 [MenuItem ("Testbtn/test/test1")]static void test0()
{                                             Debug.Log("测试0,,");}
 [MenuItem("Testbtn/test/test2")] //设定一个按钮都要添加对应的方法static void test1() //名字不能相同,以上两种设置了同意父层级test下的两个按钮{Debug.Log("测试2,,");}

我们发现unity会对按钮有分类,用横线分开,自己设置的方式如下:

[MenuItem("Testbtn/test/test2", false,1)]

第三个参数为显示顺序,值越小就越靠上,当相邻两个按钮的值相差大于11就会分类,用横线分开

在组件右键内添加按钮

[MenuItem("CONTEXT/test/UnLog",false,1)]//context大写,组件名,脚本名

 [MenuItem("CONTEXT/Rigidbody/Initdefult")]//右键rigidbody组件,自行设置初始static void test3(MenuCommand cmd)//menucommand 是当前正在操作的组件,不需要传参{                    Rigidbody rigi = cmd.context as Rigidbody;//as比用括号更温和,失败时返回空值rigi.useGravity = false;    //不适用重力,摩擦力为0rigi.mass = 0;
}
foreach (GameObject  item in Selection .objects  )//对选中物体操作{Debug.Log(item.name);GameObject.DestroyImmediate (item);//删除选中物体,无法撤销//Undo.DestroyObjectImmediate(item);//可撤销的删除}
}

菜单栏添加快捷键  %代表Ctrl  #代表shift  &代表alt

[MenuItem("Testbtn/test/test1 _t")]按下t就可以执行按钮对应操作

[MenuItem ("Testbtn/test/test1&t")]按下alt+t执行

菜单项是否启动

第二个参数,对应方法为验证方法,值为true,需要返回一个bool值,为true这可以点击反之则不

能,要路径一致,仅作判断,当返回true,相同路径的按钮即可点击

 [MenuItem("Testbtn/test/test2", true ,1)]//当show()方法返回true,test2方可点击static bool  show(){if (Input.GetKey(KeyCode.A)) return true;return false;}[MenuItem("Testbtn/test/test2", false,1)]
static bool  test2(){Debug.Log("测试2,,");}

ContextMenu  在自己的脚本中添加右键按钮,在脚本内,方便访问该脚本的属性等

可以定义上下文菜单,和使用 MenuItem 并以“ Context/ 。。”定义菜单一样这个属性不同的是,你能给指定的组件定义默认的上下文菜单项,然而使用 MeneItem 只是为了扩展现有的组件菜单,比如引擎默认的组件。

public class NameBehaviour : MonoBehaviour
{public string Name;[ContextMenu("Reset Name")]private static void ResetName(){Name = string.Empty;}
}

ContextMenuItem  给脚本属性添加右键,

被添加到了一个字段上没有方法,所有它接受两个参数:一个用于显示菜单项的名字,一个用于指定一个当菜单被选中时要调用的实例方法。

 public class NameBehaviour : MonoBehaviour
{                      //    按钮名字            方法名字           [ContextMenuItem("Randomize Name", "Randomize")]public string Name;private void Randomize(){Name = "Some Random Name";}
}

上面代码的结果显示了当在字段上单击右键时弹出的菜单项:

下载文档点击这里 https://download.csdn.net/download/nt_xs_j/10503003

unity脚本编辑器(一)相关推荐

  1. VS Code作为Unity脚本编辑器设置

    Unity3D在2017版以后,默认是用Visual Studio作为脚本编辑器,但是VS实在太大了,还是用VS Code方便,小巧灵活. 下载 VS Code下载地址: https://code.v ...

  2. 修改unity代码编辑器

    将 Unity 自带的 MonoDevelop 替换成微软的 VS 2017 编辑器. 操作步骤: 第一步:选择Edit选项卡下的Preferences..选项 第二步:选择External Tool ...

  3. unity中脚本编辑器UnIDE

    引言 unity默认脚本编辑器是MonoDevelop,随着unity4.3面世,MonoDevelop (4.0.1)版本也随之而来,更新为界面更改和bug自动修复功能等,具体还未使用. 点击uni ...

  4. 【Unity3D】Unity 脚本 ② ( Visual Studio 2019 中的 Unity 编译环境配置 | Unity 编辑器关联外部 C# 脚本编辑器 Visual Studio )

    文章目录 一. Visual Studio 2019 中的 Unity 编译问题 二. Unity 编辑器中关联外部 C# 脚本编辑器 三. 设置游戏运行时脚本更新行为 一. Visual Studi ...

  5. 【Unity3D日常开发】更改Unity默认的脚本编辑器

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  6. Unity怎么更换默认脚本编辑器——VS

    因为某种坑爹的原因,我不得不卸载了VS,然后又重新装了一遍. 这个时候unity它就自然找不到之前使用的VS所在的位置了,下面记录一下,如何让unity再知道我新装的VS搁哪里待着呢. (1)首先点击 ...

  7. Unity 2018 3.6f1版本默认安装没有脚本编辑器

    默认安装的Unity 2018 3.6f1版本,打开unity3d项目,点击菜单"Edit".在菜单中选择"Preferences...",就会进入属性设置界面 ...

  8. Unity修改默认脚本编辑器

    在Unity中通过菜单设置修改默认的脚本编辑器: 步骤 Edit-->Preferences-->External Tools-->External Script Editor 图解 ...

  9. <Unity> 修改Unity设置默认脚本编辑器

    设置Unity默认脚本编辑器 为便于操作,可以修改Unity的默认编辑器,顺序如下: Edit --> Preference --> ExternalTools --> Extern ...

最新文章

  1. Verilog初级教程(15)Verilog中的阻塞与非阻塞语句
  2. Serializable Clonable
  3. 496. Next Greater Element I - LeetCode
  4. [YTU]_1055 (输入字符串以及输出)
  5. 区块链BaaS云服务(30) 字节方舟 ByteArk
  6. node.js小案例_留言板
  7. mySQL日期函数并运行_mysql日期相关的函数
  8. Qt 给应用程序添加图标
  9. 使用apache POI把list集合里面的实体写入Excel(java)
  10. 这可能是国内首款5G手机了!中兴AXON 10 Pro 5G上市定档
  11. 亮点抢先看,华为云 TechWave 大数据专题日有啥料?
  12. TCP模块如何处理连接包
  13. python创建类mymath_构建DLL(MyMathFuncs)以在Python Ctypes中使用
  14. linux部署k8s教程
  15. Axure RP9Team版可用授权
  16. stokes方程matlab,Navier-Stokes matlab 238万源代码下载- www.pudn.com
  17. KTV点歌系统数字点歌功能
  18. 印度行——印度软件公司的印象
  19. 硬核观察 #612 谷歌正式推出“切换到安卓”应用
  20. 从子域名看百度,新浪,搜狐,QQ和网易

热门文章

  1. SeetaFace C++环境搭建(详细图文)
  2. xlwings使用教程
  3. 实现输出3的倍数3,6,9,12,15,18
  4. Angular cdk 学习之 Scrolling
  5. 【LED子系统深度剖析】七、触发器实现
  6. 三菱电机公布造假问题整改计划
  7. c语言html文件按字符顺序读入,C语言完整笔记
  8. 简单人脸识别一之使用opencv+cnn网络实现人脸识别
  9. vue+vux vux安装出现错误
  10. Linux系统入门篇(4)- Linux目录简介