Selection

获取鼠标在Hierarchy和Project窗口选中的对象

遍历选中的对象

[MenuItem("Tools/selection")]
    static void fun3(MenuCommand cmd)
    {
        //Debug.Log(Selection.activeGameObject.name);
        foreach (Object obj in Selection.objects)
        {
            Debug.Log(obj.name);
        }
           
    }

注:获取Hierarchy和Project窗口选中的对象时,Hierarchy表示场景中的对象,Selection.activeGameObject有差异。

使用Selection.activeGameObject
  1. 能获取Hierarchy中的所有对象,选中多个对象时,获取到的是第一个被选中的
  2. 只能获取Project中的预制体
上手

实现1:Hierarchy窗口中,右键菜单可删除选中的对象
该操作实行后,场景不带*,表示已经保存,不可恢复

[MenuItem("GameObject/my delete",false,10)]
    static void Delete()
    {
        foreach (Object obj in Selection.objects)
        {
            GameObject.DestroyImmediate(obj);//非运行时
        }

    }

删除projec下的资源:
GameObject.DestroyImmediate(obj,true);

实现2:unity原本删除Hierarchy中的对象后,可以ctrl+z恢复,实现删除后恢复
该操作实行后,场景带*,可恢复,需手动保存场景

[MenuItem("GameObject/my delete",false,10)]
    static void Delete()
    {
        foreach (Object obj in Selection.objects)
        {
            Undo.DestroyObjectImmediate(obj);//可以记录操作
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值