栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法理解碰撞位掩码的工作原理

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法理解碰撞位掩码的工作原理

这不是冲突处理的工作原理。当两个物体相交时,物理引擎

AND
在当前物体
collisionBitMask
与他人的物体
之间执行逻辑运算符
categoryBitMask

当两个物理物体相互接触时,可能会发生碰撞。通过执行逻辑“与”运算,将该人体的防撞蒙版与其他人体的类别蒙版进行比较。如果结果为非零值,则此主体受碰撞影响。每个机构独立选择是否要受到另一个机构的影响。例如,您可以使用它来避免碰撞计算,该碰撞计算对物体速度的变化可以忽略不计。

该源。

因此,结果取决于您

categoryBitMask
在这两个物体上的设置方式。的默认值
categoryBitMask

0xFFFFFFFF
,表示设置了所有位。因此,当您在
0xFFFFFFFF
0b10
或之间执行&时
0b01
,结果将为非零值,即碰撞。

因此,例如,将您的身体设置如下:

spriteA.physicsBody?.categoryBitMask = 0b01spriteA.physicsBody?.collisionBitMask = 0b01

spriteB.physicsBody?.categoryBitMask = 0b10spriteB.physicsBody?.collisionBitMask = 0b10

会给您想要的结果。另外,这可能不是您需要的确切设置,这只是一个简单的示例,您将必须根据需要更改值。在这种情况下,spriteA仅会与

categoryBitMask
设置为的物体碰撞
0b01
。spriteB同样如此,它将与
categoryBitMask
设置为的物体碰撞
0b10

另外,如果您不希望这些精灵与任何东西碰撞,只需将其

collisionBitMask
属性设置为0。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413247.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号