游戏中位运算的应用

Unity中相机的应用遮罩应用:code

camera.cullingMask = ~(1 << x);  // 渲染除去层x的全部层    
      
camera.cullingMask &= ~(1 << x); // 关闭层x    
      
camera.cullingMask |= (1 << x);  // 打开层x    
    
camera.cullingMask = 1 << x | 1 << y | 1 << z; // 摄像机只显示第x层,y层,z层.   

 

位运算每每在游戏用来记录一些状态,一个32位的整数,就能记录32种状态,而且只须要一个int就够了。 在游戏中的应用:技能状态、等其余状态中。游戏

//检查state的第pos位是否为1 int bitCheck(int state, int pos)
{
    return state & 1<< pos - 1;
}

//将state的第pos位的值设为1 int bitAdd(int state, int pos)
{
    return state | (1 << (pos - 1));
}

//将state的第pos位的值设为0 int bitDel(int state, int pos)
{
    return state & (~(1 << (pos - 1)));
}
相关文章
相关标签/搜索