unity的Physics2D.OverlapCircle怎么过滤collider
时间: 2023-06-09 07:07:47 浏览: 729
unity3d 关于 Physics2D.OverlapCircleNonAllocTest()
可以使用Physics2D.OverlapCircleAll方法代替Physics2D.OverlapCircle方法,并且在结果列表中使用LINQ查询来过滤collider。具体的使用方法如下所示:
1. 在OverlapCircleAll中传递圆的位置、半径和层掩码参数,以获取所有与圆重叠的collider。
```csharp
Collider2D[] results = Physics2D.OverlapCircleAll(circlePos, radius, layerMask);
```
2. 使用LINQ查询来过滤collider。在这里,我们假设我们只对“Enemy”标签的collider感兴趣。
```csharp
var enemyColliders = results.Where(c => c.CompareTag("Enemy")).ToList();
```
3. 现在,我们可以像使用任何其他collider列表一样使用enemyColliders。
```csharp
foreach (var enemyCollider in enemyColliders)
{
// do something with enemyCollider
}
```
阅读全文