在 Matter.js 物理引擎中,isSensor 布尔属性的使用
在 **Matter.js** 物理引擎中,`isSensor` 是一个布尔属性,用于标记一个物体(Body)是否为 **传感器(Sensor)**。它的核心作用如下:
---
### **`isSensor` 的作用**
1. **无物理碰撞响应**
当 `isSensor: true` 时,物体会检测与其他物体的碰撞(触发碰撞事件),但**不会产生实际的物理交互效果**(如反弹、阻挡、施加力等)。物体会直接穿过其他物体,就像“幽灵”一样。
2. **仅触发事件**
它主要用于需要**检测碰撞但不需要物理阻挡**的场景,例如:
- 游戏中的触发区域(如通关检测、陷阱触发)。
- 传感器(如激光雷达、接近检测)。
- 非物理交互的物体(如收集金币时的碰撞检测)。
---
### **示例代码**
```javascript
const { Bodies, World, Engine } = Matter;
// 创建一个普通物理物体(会阻挡其他物体)
const normalBody = Bodies.rectan