原文:https://www.cnblogs.com/leeplogs/p/9133824.html

按位运算符:与(&)、非(~)、或(|)、异或(^)、<<(左移)、>>(右移)。位运算符主要用来对二进制位进行操作。

逻辑运算符:&&、||、!。逻辑运算符把语句连接成更复杂的复杂语句。

与运算符:只有两个位都是1,结果才是1;

或运算符:只要两个位有一个是1,结果就是1;

非运算符:如果位为0,结果是1,如果位为1,结果是0;

异或运算符:两个操作数的位中,相同则结果为0,不同则结果为1;

左移运算符<<:左移表示乘以2,左移多少位表示乘以2的几次幂;

右移运算符>>:移动多少位表示除以2的几次幂。

Unity是用 int32来表示32个Layer层,int32用二进制来表示一共有32位。

0000 0000 0000 0000 0000 0000 0000 0000

31                    0

eg:

(1)LayerMask mask = 1<<2; ----开启Layer2

其中 <<左边的 1表示有[开启],0表示没有该layer[忽略] 。右边的2表示左移2位即是 layer2层的位置。

(2)LayerMask mask = 1 << 0 | 1 << 2;; ----开启layer 0和layer 2

(3)LayerMask mask = 1 << 0 | 0 << 2 ----开启Layer0 并关闭 Layer2

(4)打开Npc层,变1 或 运算符

camera.cullingMask |= 1 << LayerMask.NameToLayer("Npc"); camera.cullingMask = (int) 1<<LayerMask.NameToLayer("Npc");//写法二

(5)关闭Npc层,变0 按位与 & 按位取反 ~

camera.cullingMask &= ~(1 << LayerMask.NameToLayer("Npc"));

(6)开关Npc层,按位异或 ^

camera.cullingMask ^= 1 << LayerMask.NameToLayer("Npc");

Unity位运算符和Layers相关推荐

  1. Python 位运算符

    Python 位运算符有 1 按位与(&) 2 按位或(|) 3 按位异或(^) 4 按位取反(~) 5 左位移(<<) 6 右位移(>>) 运算符 描述 & ...

  2. Go 学习笔记(5)— 算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、取地址和指针运算符

    1. Go 运算符分类 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 1.1 算术运算符 下表列出了所有Go语言的算术运算符.假定 A 值为 10, ...

  3. amp 保留指定位c语言,C语言位运算符学习

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? [Toc] 概念位运算是指按二进制进行的运算. C语言提供了6个位操作运算符.这些运算符只能用于整型操作数,即只能用于带 ...

  4. 位运算符Java与详解_java位运算符详解

    java位运算符详讲 一.位运算符分类    java中位运算符主要有:按位与&.按位或|.按位非~.按位异或^. 在使用时,需要将运算数都转换为二进制再进行运算,若为负数则使用补码表示.二. ...

  5. python位运算符

    位运算符: 参考:https://blog.csdn.net/weixin_42216574/article/details/82885102 &:按位与 按位与操作 0&0=0; 0 ...

  6. java boolean 按位或_布尔运算符与按位运算符

    布尔运算符与按位运算符 我对何时应该使用布尔运算符与按位运算符感到困惑 and vs &, or vs | 有人能启发我何时使用每种药物,何时使用一种药物会影响我的结果? 8个解决方案 56 ...

  7. python的位运算符

    '''python位运算符:python的位运算符是把数字看作二进制来进行计算的.按位与(&):如果两个二进位都为1,则该位结果为1,否则为0按位或(|):只要一个为1,则为1,否则为0按位异 ...

  8. java位运算符取反_java运算符

    Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,++,-- 赋值运算符 = 关系运算符: >,<,>=,<=,==,!=, instanceof 逻辑运算符: ...

  9. C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?

    逻辑右移与算术右移的区别? 逻辑右移就是不考虑符号位,右移一位,左边补零即可. 算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,:否则,就补0. 所以算术右移也可以进行有符号位的除法,右 ...

最新文章

  1. “云办公”:重新定义工作手机
  2. dispatchTouchEvent onInterceptTouchEvent onTouchEvent
  3. java.nio.Buffer flip()方法
  4. __declspec关键字详细用法
  5. VTK:可视化之VectorOfActors
  6. 如何通过shell脚本操作MongoDB
  7. RabbitMQ研究与应用
  8. c高级语言程序设计B试题,高级语言程序设计试题(B)卷.doc
  9. 数据结构之红黑树(三)——删除操作
  10. vue 百度统计_2021暑期实习面经百度篇
  11. android暗水印技术,基于Android的隐藏数字水印技术的研究与实现
  12. AT89C51单片机万年历仿真图+代码
  13. Vue表情包输入组件
  14. 使用Spark ML进行数据分析
  15. 2022年中式烹调师(初级)考试题库及在线模拟考试
  16. English - because of,due to ,thanks to ,owing to ,as a result of ,on account of解析
  17. ROS修改小乌龟程序背景颜色
  18. QTextToSpeech 文本转语音输出
  19. 风过,摔死一只ofo小黄猪
  20. LeetCode-70. 爬楼梯(java)

热门文章

  1. 部分互联网公司及通信公司校招时间表及薪资(参考2017)
  2. 触摸板失效,fn快捷键不显示,神舟control center3.0无法打开等问题重装驱动
  3. 如何查找qq看点里用户的qq号
  4. UI设计需要学习哪些软件?
  5. window文件共享访问记录清除命令
  6. 数据解读 | 广东省内,谁才有资格做下一个深圳?
  7. Word-embedding的资料整理
  8. 计算机专业的文献翻译,计算机专业外文文献翻译
  9. 华为服务器centos安装系统,华为裸金属服务器泰山200安装Centos7图文解析
  10. spark while_while循环怎么理解