• Physics2D.Linecast中的参数layerMask


    运用:

    Physics2D.Linecast(start,end,1<<LayerMask.NameToLayer("Ground"));
    1.首先引入'|''&''~'的概念 
    与(交集):10000001 & 10000100 == 10000000 
    
    或(并集):10000001 | 10000100 == 10000101 
    
    非(反转):10000001 == ~01111110 
    
    2.int myLayerMask = 1 << curLayer; 
    等式右侧 curLayer 代表Inspector/Layer中的某一层 
    等号左侧是通过一个数来保存多个层的信息 
    他是怎么做到的呢? 
    其实是用 myLayerMask = 00000000 方式来保存的 
    即 myLayerMask = 1 << 3 ---> myLayerMask == 00001000 
    这时层级中的第3层被开启,其余层处于关闭状态 
    另外,需注意的是,层的序号是从0开始计算的 
    因此,上面的操作相当于使用二进制方法进行一对多表现方式的转化过程 
    
    3.实例讲解 
    有了上面铺垫,我们就可以轻松的对多个Layer进行开关了 
    1)开启1、2层 
    camera.cullingMask = (1 << 1) | (1 << 2); 
    2)开启除2层外的所有层 
    camera.cullingMask = ~(1 << 2); 
    3)开启除1、2、4层外的所有层 
    camera.cullingMask = ~((1 << 1) | (1 << 2) | (1 << 4));
  • 相关阅读:
    Fluxbox 1.0 RC 2
    Cairo 1.2.0
    Transmission 0.6.1
    Xara LX Xtreme 0.5 Rev1175
    Totem 1.4.2
    ImageMagick 6.2.81
    恢复 Firefox 和 Thunderbird 图标
    Conky 1.4.2
    BitTorrent 4.20.0
    Geany 疾速简便的集成启示情况
  • 原文地址:https://www.cnblogs.com/kingBook/p/5294993.html
Copyright © 2020-2023  润新知