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日

悬赏问题

  • ¥15 对于这个复杂问题的解释说明
  • ¥50 三种调度算法报错 采用的你的方案
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败