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

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日

悬赏问题

  • ¥60 如何把照片修复成原始拍摄图
  • ¥80 Exited too quickly (process log may have details)
  • ¥15 爬知乎登录之后内容加载不出来
  • ¥15 怎么用protues测量通频带
  • ¥15 zepelin使用sparkInterpreter 异常
  • ¥15 paho mqtt 接收不到消息
  • ¥15 函数r关于两个分量y,z方向上的图像,分开画r随y的图像,r随z的图像
  • ¥15 如何用Matlab求Pearcey函数的数值积分?
  • ¥15 一个简单的函数定义问题,输出结果是相反的,怎么回事呢?
  • ¥15 页面加载报错,不知道怎么处理