RaycastHit2D Raycast(Vector2 origin, Vector2 direction, float distance, int layerMask)
自学习这个接口以来,最后以为参数我都是用LayerMask.NameToLayer(“Ground”)赋值,
得不到正确的结果,百无聊赖尝试~LayerMask.NameToLayer(“Ground”)后得到正确结果。
因为这个问题,我对这个layerMask理解总是有点问题
直到今天断点才知道,这个NameToLayer函数获得的是对应层的索引下标,并不是参数需要的二进制位域数。
而~LayerMask.NameToLayer(“Ground”)只是碰巧对应层的位置为1而已
所以函数最后的参数应该是1<<LayerMask.NameToLayer(“Ground”)或者LayerMask.GetMask(“Ground”)。