Selection

作者: 游戏开发小Y | 来源:发表于2017-03-16 14:31 被阅读11次

    Selection是一个静态类,它的主要功能是获取在project窗口中鼠标选择的对象或者是inspector窗口的当前显示的对象。它的字段有

    activeGameObject

    activeInstanceID

    activeObject

    activeTransform

    gameObjects

    instanceIDs

    objects

    transforms

    其中activeGameObject和activeTransform是inspector窗口的当前显示对象对应的GameObject和Transform。加入当前并非是一个GameObject,那么activeGameObject为空,activeTransform也是一样。activeInstanceID是选择文件在工程中的唯一ID,通过这个ID可以找到唯一对应的文件。objects是多选情况下得到的所有选择的物体,这些物体可以是各种类型,一般地,无法解析的物体,如文件夹,普通的文件,默认为Object类型。相比gameObjects,官方更加推荐使用transforms,它们的作用仅仅是对选择的所有物体做类型匹配的筛选,返回筛选之后的结果。

    在这些字段中,用得比较多的是activeObject,objects,因为是基类,所以我们可以做各种判定和处理。比如:

    var objs=Selection.objects;

    foreach(var obj in objs)

    {

    if(obj is GameObject)
    
        Debug.log(obj.name);
    

    }

    上面的代码就是遍历选择的所有物体,如果该物体为GameObject(Prefab也是GameObject),输出该物体的名称。

    另外,Selection提供Contains方法来判断选择的物体做是否包含了某个物体,也提供GetFiltered方法来做筛选。

    相关文章

      网友评论

        本文标题:Selection

        本文链接:https://www.haomeiwen.com/subject/wthjnttx.html