类型 布尔类型 对象 Body 库 physics.* 修订 版本 2024.3703 关键词 body, isSensor
传感器是检测碰撞但不产生物理响应的固定装置。传感器不会生成接触点。
isSensor
属性为true
, 对象将不会发生任何可见的碰撞, 不过仍然会发出 "began"
和 "ended"
碰撞事件。
对于单面平台, 跳跃的角色从下方通过可以, 但从上方落下则不行, isSensor
属性可能不足以应对所有情况。相反, 可以考虑 isEnabled 属性, 这是 PhysicsContact 对象的属性。
在 Box2D 中, isSensor
是特定固定装置的属性, 或者用 Corona 术语来说, 是“body element”的属性—它不是整个 body 的属性。不过, Corona 目前不提供在 body 创建 之后访问单个 body element 的方法, 因此无法在创建 body 之后为单个 body element 设置属性。因此, 设置isSensor = true
isSensor
属性将永久覆盖单个 body element 设置。
local laserBeam = display.newImage( "laserBeam.png" ) physics.addBody( laserBeam, "dynamic" ) laserBeam.gravityScale = 0 -- Make the object a "bullet" type object laserBeam.isBullet = true -- Make the object a sensor laserBeam.isSensor = true laserBeam:setLinearVelocity( 400, 0 )