纳金网
标题: Unity之layermask探究 [打印本页]
作者: 烟雨 时间: 2015-6-27 01:11
标题: Unity之layermask探究
相信大家都碰到过类似这种表达式,
int myLayerMask = 1 << currentLayer;
下面我们就做一个关于layermask的探究实验。
public int moveLayer=8;
public LayerMask mask; //外部赋值UIlayer
void Start ()
{
moveLayer = 1 << moveLayer;
Debug.Log( LayerMask.NameToLayer("Deafult"));
Debug.Log(moveLayer);
Debug.Log(mask.value);
}
经过探究我们会发现:
LayerMask.NameToLayer("Default") 输出0,这是跟layer层里的数字想对应的。
moveLayer 输出为256,1<<8,“<<“为左移符,1的2进制表示为0001,左移8位,即100000000,即2的8次方。
mask.value 输出为 256,也就是说UI.value跟1<<8是相等的,即可用这种方法表示layermask。
作者: KISS2015 时间: 2015-6-27 08:34
那又说明什么?说明是位操作?你怎么研究的,整个没有分析清机理吗,为什么要移,你搞懂没
欢迎光临 纳金网 (http://go.narkii.com/club/) |
Powered by Discuz! X2.5 |