Simon_Y__ 2022-11-02 12:23 采纳率: 50%
浏览 76
已结题

Unity Hierarchy 右键扩展多选问题

问题遇到的现象和发生背景

由于开发需要,做了个右键扩展,但是发现多选的话会多次触发
代码:

    [MenuItem("GameObject/输出名字", false, 1)]
    public static void LogName()
    {
        foreach (var gameObject in Selection.gameObjects)
        {
            Debug.Log(gameObject.name);
        }
    }

对Hierarchy面板的单个物体 右键=>输出名字 输出该物体名字

选中物体:

img

对Hierarchy面板的多个物体 顶部菜单栏=>GameObjcet=>输出名字,逐个输出这些物体的名字

顶部菜单执行结果:

img

对Hierarchy面板的多个物体 右键=>输出名字 多次(多少个物体就多少次)逐个输出该物体名字

右键菜单执行结果:

img

操作环境、软件版本等信息

unity版本:2020.3

我想要达到的结果

想要右键执行也实现在菜单栏 执行的效果

  • 写回答

4条回答 默认 最新

  • 周周的Unity小屋 2022-11-02 14:47
    关注

    这个好像是没办法避免的,unity就是这么做的,你这样写的话用菜单栏获取就可以了,因为你在hierarchy多选物体时右键是会触发多次的,如果真的想在hierarchy右键多选只输出一次的话,目前我能想到的有个思路:
    1.设置一个状态标识符去标识只执行一次,但是你下次想继续获取的话,只能重置这个状态。(有点麻烦不建议)

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错