zoukankan      html  css  js  c++  java
  • UnityEditor

    1、添加菜单

    [MenuItem("Tools/MyTool")]

    [MenuItem("Tools/MyTool", false, 10)]

    优先级控制菜单的显示顺序,且优先级在同一范围内(好像是11)将显示在同一组,优先级在10左右的菜单项会显示在 Hierarchy 的右键菜单中,Assets菜单中菜单项会显示在 Project 的右键菜单中。

    2、对指定组件添加右键菜单

    [MenuItem("CONTEXT/UserManager/MyMenuName")]

    其中,CONTEXT 是固定格式,UserManager 是要作用的组件名, MyMenuName 是生成的右键菜单项名。

    在实现的方法中可以传入一个 MenuCommand 对象,该对象有两个属性,分别是 context 和 userData。通过将 context 强转成组件对象,就可以设置组件的属性。

    强转分为直接强转和使用 as 强转,前者如果不能强转会报错,后者不会报错而只是返回一个空指针。

    3、操作 Hierarchy 中选中的对象

    Selection类,它有很多静态成员,可以用来获取 Hierarchy 面板中选中的对象。

    Unity可以记录系统的一些操作,然后使用 Ctrl+Z 回滚,自己写的编辑器方法默认是不能回滚的,比如删除对象,这时要使用 Undo 类操作,如 Undo.DestroyObjectImmediate(obj);

    4、快捷键

    单键设置,必须要用下划线开头,比如设置 d 快捷键:

    [MenuItem("Tool/MyTool _d")]

    组合快捷键设置: %=ctrl    #=shift     &=alt,比如使用 Ctrl + D 快捷键:

    [MenuItem("Tool/MyTool %d")]

    5、如果要为自己写的脚本组件添加右键菜单,也可以直接在脚本里实现,只要在函数前面添加  [ContextMenu("MyMenuItemName")] 即可。

    为指定字段添加右键菜单项,可以在字段前添加 [ContextMenuItem("MyMenuItemName", "FunctionName")],这样就会调用 FunctionName中的方法。

  • 相关阅读:
    原创《小白的Java自学课》第一课:Java是什么?Java到底能干嘛?
    谷歌chrome浏览器
    QT学习之QPair类
    char 与 signed char 和 unsigned char三者之间的关系
    QT学习之QT判断界面当前点击的按钮和当前鼠标坐标
    QT学习之QScript
    QT Creater 配色方案及下载
    QT学习之QString的arg方法
    QT创建与调用Dll方法(包括类成员)--显式调用
    C++学习之显式类型转换与运行时类型识别RTTI
  • 原文地址:https://www.cnblogs.com/tianyajuanke/p/6229865.html
Copyright © 2011-2022 走看看