unity 3D var layerMask = 1 << 8;是什么意思?尤其不懂1<<8这点

ty3DvarlayerMask=1<<8;是什么意思?尤其不懂1<<8这点如题varlayerMask=1<<8;... ty 3D var layerMask = 1 << 8;是什么意思?尤其不懂1<<8这点

如题
var layerMask = 1 << 8;
展开
 我来答
lyz810
推荐于2018-03-26 · 知道合伙人互联网行家
lyz810
知道合伙人互联网行家
采纳数:7531 获赞数:31779
前端开发工程师

向TA提问 私信TA
展开全部
var 声明一个变量
layerMask为变量的名字
1 << 8是位运算,<<符号是左移符号,即将二进制的每一位向左移动
1的二进制左移8位的运算方法如下:
首先将1转为2进制,设二进制为16位的二进制数,则16位二进制数1表示如下:
0000 0000 0000 0001
左移即将所有二进制位向左移动,如果超过16位,则溢出舍弃,右面移入的位为0
左移8位后结果为
0000 0001 0000 0000,即十进制的256
扩展:
左移n位可以看做2的n次方,1<<8即1*2^8=256
鬼醫十三
推荐于2016-08-28 · TA获得超过160个赞
知道答主
回答量:44
采纳率:0%
帮助的人:54.2万
展开全部
<< 和 >> 都是位操作符号,举个栗子~
如果是 1 << 2 那么这个表达式的值就等于2的2次方,等于 4
因为 1 的二进制可以写成 0001 (假设这是一个四位的二进制数)
那么 << 符号后面的 2 就表示要把上面那个二进制数全部向左移动 2 位
那移动后的二进制结果就为 0100 ,转成十进制就是 4
你那个 1 << 8 也是同样的道理,1 << 8的结果就是 2 的8次方 ,等于 256
纯手打~还有不懂的不
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
afrogyear
2013-12-16
知道答主
回答量:28
采纳率:0%
帮助的人:6.1万
展开全部
这个是用来设置摄像机的过滤的渲染层的! 你可以在编辑器中查看,当代码激活时你的gameobject所处在哪一个渲染层就明白了,你这代码是unity 3d中那个沟边外挂的代码吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ceb50c3
2019-10-28
知道答主
回答量:1
采纳率:0%
帮助的人:690
展开全部
unity中Layer最多32个,对应一个Int32类型数据变量,其中每一个bit对应一个Layer。当该bit为1时表示开启该layer,为0时表示关闭该layer。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
瑞志涌0gnd17
2013-12-07
知道答主
回答量:18
采纳率:100%
帮助的人:12.7万
展开全部
<< 和>>都是偏移符号就是将数字转换成二进制然后向左(<<)或向右(>>)偏移(移动)n个位置(看后面的数字)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式