利用unity的MenuItem给自己的编辑器增加一点定制选项

2023-11-05

MenuItem是unity自带的特性,利用它我们可以方便的在编辑器里面加加入一些功能,以下是一些常用功能的总结,注意,需要把文件放在Assets下的Editor文件夹下.

using UnityEngine;
using UnityEditor;
using System.Collections;

public class MenuTest : MonoBehaviour {
    /// <summary>
    /// 增加一个MyMenu菜单下的show选项
    /// </summary>
    [MenuItem("MyMenu/show")]
    static void Show() {
        print("haha");
    }
    /// <summary>
    /// 增加一个MyMenu菜单下的printName选项,并且只有选中物体时才可以
    /// </summary>
    [MenuItem("MyMenu/ShowSelectedName")]
    static void PrintName() {
        print("Selected Transform name is " + Selection.activeTransform.gameObject.name);
    }
    [MenuItem("MyMenu/ShowSelectedName", true)]
    static bool Validate() {
        return Selection.activeTransform != null;
    }
    /// <summary>
    /// 添加一个选项,并且指定快捷方式为ctrl + G,%代表Ctrl键(mac机上面是cmd键)  #代表Shirt键   &代表Alt键
    /// </summary>
    [MenuItem("MyMenu/shortCutKey % g")]
    static void DoSomethingWithAShortcutKey() {
        print("push down ctrl + g");
    }
    /// <summary>
    /// 给刚体组件的菜单增加一个double选项
    /// </summary>
    /// <param name="command"></param>
    [MenuItem("CONTEXT/Rigidbody/Double Mass")]
    static void DoubleMass(MenuCommand command) {
        Rigidbody body = (Rigidbody)command.context;
        body.mass = body.mass * 2;
        print("double mass to " + body.mass);
    }
    /// <summary>
    /// 在GameObject的子菜单下新建目录选项,并设置撤销新建时的提示
    /// </summary>
    /// <param name="menuCommand"></param>
    [MenuItem("GameObject/MyCategory/Custom Game Object", false, 10)]
    static void CreateCustomGameObject(MenuCommand menuCommand) {
        GameObject go = new GameObject("Custom Game Object");
        GameObjectUtility.SetParentAndAlign(go, menuCommand.context as GameObject);
        Undo.RegisterCreatedObjectUndo(go, "Create " + go.name);
        Selection.activeGameObject = go;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

利用unity的MenuItem给自己的编辑器增加一点定制选项 的相关文章

  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w
  • 如何更改 Lollipop 之前版本和 Lollipop 版本的工具栏菜单项文本颜色

    我在应用程序中使用工具栏来进行材料设计 一切工作正常 但除了更改菜单项文本颜色时 我完全坚持该解决方案 我还发布了应拍摄的文本的屏幕截图以及我在应用程序中使用的代码 以供您参考 我尝试了几种替代方法 例如分配如下
  • 如果操作栏/工具栏为白色,菜单项上不会出现波纹

    我有白色工具栏 其中菜单项显示为操作 该操作是来自材质图标的黑色矢量资源 单击菜单项时没有波纹效果 因为波纹效果也是白色的 如果工具栏背景更改为其他颜色 例如蓝色 则会出现波纹 如何更改菜单项波纹颜色 使其在白色背景上可见 我试图改变颜色控
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • asp:菜单项/CSS

    我有一个 asp 菜单 只有 1 级 顶级 菜单项 每个菜单项都需要有不同的方式来被 CSS 识别 用于独特的悬停等 我试图避免使用 javascript 解决方案 目前我找不到仅使用 asp 和 CSS 来控制单个菜单项的方法 任何帮助
  • 带有子菜单的可检查菜单项

    WPF 中是否可以将顶级子菜单设置为复选框 我似乎无法让它发挥作用
  • WPF 中的水平菜单和水平子菜单

    我一直在与 WPF 作斗争Menu我根本无法实现我想要的目标 我尝试更改默认样式Menu and MenuItem控制 但这结果很糟糕 然后我尝试使用控件模板来设计它的样式 但是 我想我开始意识到我的 WPF 技能还不具备 这是我想要的结果
  • Unity中URP下的指数雾

    文章目录 前言 一 指数雾 雾效因子 1 FOG EXP 2 FOG EXP2 二 MixFog 1 ComputeFogIntensity 雾效强度计算 2 lerp fogColor fragColor fogIntensity 雾效颜
  • C# WPF MenuItem 自定义模板

    在 Main xaml 中 我有这两个菜单项 第一个带有标题 断开电流 第二个带标题 Quit 更多具有不同标题文本的菜单项 为了编辑第一个项目的一些颜色 我在 App xaml 中创建了一个自定义模板
  • 滑动菜单手势覆盖图手势的可滚动手势-android

    我正在使用滑动菜单here https github com jfeinstein10 SlidingMenu在我的应用程序中 我的应用程序还有一个图形视图 http www jjoe64 com p graphview library h
  • 如何禁用 SpreadsheetApp.addMenu 项

    The SpreadsheetApp AddMenu name array of entries 在电子表格的顶部栏中生成一个新菜单 或者 有getUI createMenu这会产生一系列项目 两者都工作得很好 不知道哪个更好 是否可以根据
  • ActionBarSherlock 硬键菜单面板文本颜色

    我有一个关于使用 ActionBarSherlock 主题化我的应用程序的小问题 一切正常 除了Samsung phones with TouchWizz 按硬件菜单键即可显示溢出菜单项 我知道如何更改面板背景 我的默认主题扩展Theme
  • 游戏开发常见操作梳理之NPC任务系统

    多数游戏存在任务系统 接下来介绍通过NPC触发任务的游戏制作代码 using System Collections using System Collections Generic using UnityEngine
  • 检测菜单项单击上的鼠标左键/右键吗?

    在Delphi XE2中 如何检测用户是否用鼠标左键或右键单击了弹出菜单项 使用该单元 将其作为组件安装并替换标准TPopupMenu这增加了一个OnMenuRightClick event unit RCPopupMenu interfa
  • 如何为 VS 扩展嵌套工具菜单按钮?

    我正在构建我的第一个 VS 扩展 因此我目前在该领域的技能相当于遵循教程和提出问题 该扩展用于加密 解密一部分web configWeb 应用程序项目的文件 我有 2 个命令 目前按钮设置在 vsct文件如下
  • 如何将覆盖视图放在操作栏 Sherlock 上

    我想在操作栏上设置一些视图来显示教程文本 例如单击此处并发送电子邮件 这可能吗 我问是因为我知道操作栏使用布局上的顶部空间 而片段或活动使用剩余空间 我的第二个问题是如何在操作栏上显示所有操作项 我使用 ActionBarSherlock
  • 响应式菜单/小型设备:单击菜单项时关闭/折叠菜单

    我想更改小型设备上 Twitter 引导菜单的行为 以通过单击菜单项或单击菜单按钮来关闭展开的菜单 目前 默认 我只能通过单击右上角的菜单按钮来折叠它 无论我是否单击了链接 菜单项 我该怎么做呢 我无法从 TB 文档中弄清楚这一点 并且在互
  • 如何为导航抽屉的菜单项赋予颜色?

    我正在创建导航抽屉 我看到 Play 商店有彩色菜单图标 我想知道我该怎么做 我尝试在菜单图标上按颜色过滤器应用颜色 但应用程序强制关闭 这是我的代码 menu menu
  • 如何在android 4.2中显示选项菜单

    我正在尝试在我的测试应用程序中创建菜单选项 当我将清单中的主题设置为默认时 我可以看到菜单 菜单显示在顶部 如果我将清单中的主题设置为 NoTitleBar 我看不到菜单选项 我想在清单中设置主题 NoTitleBar 时获取菜单 如何修复
  • RelayCommand 未在 MenuItem 单击 WPF MVVM 上触发

    我的 WPF 表单上有一个运行导入例程的菜单项 我已将命令属性绑定到视图模型中的 ICommand 属性 但由于某种原因该方法不会触发 这是 xaml menu height 21 menu

随机推荐

  • 微信小程序自定义键盘

    效果图 功能 如果输入 直接补0 如果是09 直接是9 如果是000那就有一个0 不能大于6位 小数点不能大于两位仅能出现一次 还有不输入是禁止支付的 不能小于0 01 失去焦点隐藏面板 光标问题有点小bug 望大佬指点 完整代码 wxml
  • react antd 实现 表格(Table)多个多选功能组件实现

    壹 功能展示和使用需求 需求描述 基于antd 实现 表格要实现多个多选互不影响包含 全选 半选 可自由拓展 功能展示 贰 封装代码 import Checkbox Table from antd import React useEffec
  • 数据挖掘中的机器学习

    1 机器学习的核心目标 从经验数据中推导出规律 学习 机器从经验数据中推导并找出规律的过程 预测 将规律应用于新数据的过程 模型 其中的规律 2 机器学习处理的问题分为监督学习和无监督学习 监督学习又可分为分类 离散 与回归 连续 3 人学
  • 空间配置器(allocator)详解-stl源码剖析学习笔记

    一 什么是空间配置器 空间配置器也就是配置空间 配置容器所需要的空间 该空间获取可以是内存 也可以是磁盘或其他存储介质 二 STL规范必要接口 stl有很多实现版本 根据stl规范 allocator的必要接口如下 类型型别 设计缘由后续章
  • 华为——查分系统

    package OJ import java util public class Bully 老师想知道从某某同学当中 分数最高的是多少 现在请你编程模拟老师的询问 当然 老师有时候需要更新某 位同学的成绩 输入描述 输入包括多组测试数据
  • Cadence 简易使用教程

    原理图的快捷键 快捷键 功能 快捷键 功能 快捷键 功能 i 添加元件 l 添加线名 x 保存并检查 c 复制 w 添加连线 S shift s 保存 m 移动 W shift w 添加粗线 u 取消上一步 M shift m 移动 断线
  • JavaScript学习笔记(11) map、reduce

    map map 方法定义在JavaScript的Array中 调用Array的map 方法 传入我们自己的函数 就可以得到结果 来一个例子 use strict function pow x return x x var arr 1 2 3
  • 已解决pip升级失败报错WARNING: There was an error checking the latest version of pip.

    已解决pip升级失败报错WARNING There was an error checking the latest version of pip 文章目录 报错问题 报错翻译 报错原因 解决方法 千人全栈VIP答疑群联系博主帮忙解决报错
  • 什么是DDoS高防?

    未接入DDoS高防 未接入高防时 源站直接对互联网暴露 一旦发生DDoS攻击 很容易导致源站瘫痪 接入DDoS高防 当您购买DDoS高防并将业务接入DDoS高防后 网站类业务把域名解析指向高防IP 非网站类的业务IP将替换成高防IP DDo
  • windows下恢复删除的逻辑分区

    以前E盘分出一部分做过linux的分区 现在E盘空间不够用了 想增加空间 就到磁盘管理中 将之前的linux的逻辑分区删除了 删除后竟然发现整个E盘都没了 再回到我的电脑 E盘也找不到了 我E盘的东西难道都就丢了吗 赶快上网查了查 找到了
  • Mac 运行VUE项目中遇到的问题

    新装好的VUE cli和Node js 使用一个不报错的vue项目进行试验 看环境是不是正常的 共出现两个问题 1 在运行npm run serve 时报错 错误如下 code encode 提示没有权限 1 进入相应文件夹 我的是 usr
  • 网络安全技术习题

    第一章 一 单选题 共6题 单选题 美国国家信息基础设施 NII 定义了信息安全的 个目标 A 五 B 四 C 三 D 二 我的答案 A正确答案 A 单选题 某银行为了加强自己的网站的安全性 决定采用一个协议 应该采用 协议 A FTP B
  • Xshell7安装教程

    一 下载 百度网盘 yyds 二 安装并和谐 1 双击 Xshell 7 0 0054 exe 安装 2 安装成功后不要启动 记得先关闭 不然和谐会失败 将文件夹 NetSarang 7 x Patch 里面的 NetSarang 7 x
  • 简单远程控制(仅传递鼠标和键盘消息)的实现

    假设两个同样的应用程序 运行在相同的操作系统上 要实现远程控制 可以使用传递鼠标和键盘的消息给对方 对方收到后解析出鼠标和键盘消息如何执行即可 下面是几处关键程序 一是处理收到消息 下面应该放在套接字接收或者串口接收中 小心下面的右键单击
  • Bracket Coloring

    Bracket Coloring 题意 给出一个括号序列 定义漂亮序列为匹配括号序列或者反转之后是匹配括号序列的序列 现在要求染色 使得相同颜色的括号组成漂亮序列 问最少需要多少种颜色即每个括号染的颜色 思路 这里可以用栈来匹配括号序列 因
  • Hadoop学习笔记-MapReduce工作原理

    本文从一个初学者的角度出发 用通俗易懂的语言介绍Hadoop中MapReduce的工作原理 在介绍MapReduce工作原理前 本文先介绍HDFS的工作原理及架构 再介绍MapReduce的工作原理以及Shuffle的过程 HDFS HDF
  • ES mapping

    ES Mapping 映射 ES的mapping非常类似于java中的数据类型 可以用来设置字段中存储的数据的类型 但ES中的mapping的作用比数据类型广泛一些 定义索引这里面的字段和名称 定义字段的数据类型 字符串 布尔 数字 字段
  • CLIP使用

    安装环境 1 环境安装pytorch 2 安装tqdm pip install ftfy regex tqdm 3 安装clip pip install git https github com openai CLIP git 内网使用pi
  • 金蝶服务器存在但无账套信息,金蝶KIS专业版

    1 登录账套时提示 从字符串向datetime转换时失败 问题描述 登录账套时提示 从字符串向datetime转换时失败 解决方法 问题原因 操作系统日期格式不正确 解决方案 1 进入 控制面板 双击打开 区域和语言选项 点击 自定义 将
  • 利用unity的MenuItem给自己的编辑器增加一点定制选项

    MenuItem是unity自带的特性 利用它我们可以方便的在编辑器里面加加入一些功能 以下是一些常用功能的总结 注意 需要把文件放在Assets下的Editor文件夹下 using UnityEngine using UnityEdito