作者:雪盈甜美 | 来源:互联网 | 2023-05-19 11:11
1> rutter..:
int
和之间的转换LayerMask
可能会有些混乱。
调用时LayerMask.NameToLayer("Enemy")
,您将获得图层索引。假设“敌人”是第7层,那么调用将返回7
。
不幸的是,层掩码是位掩码。为了掩盖第七层,设置了第七位:1 <<7
,这是128
。如果您不熟悉按|
位或,&
按位与或<<
左移之类的按位运算符,则可以查阅其他一些教程来了解位掩码。
因此,您正在传递7
(位0、1和2 128
位)需要传递的位(位7)
长话短说,您需要将索引转换为位掩码。
这些都可以工作:
//get layer index, use it to make a bitmask
EnemyLayer = 1 <