区分多个边缘碰撞器?

Distinguish between multiple edge colliders?

我有一个附加了多个 EdgeColliders2D 的游戏对象,因为在 运行 期间,我在多个实例中更改了附加到同一个游戏对象的 SpriteRenderer 组件中的精灵。

我希望能够以编程方式或通过 Inspector window 区分这些多个 EdgeColliders2D。问题是,如果它是一个简单的 CircleCollide2D,我可以通过脚本以编程方式更改 CircleCollider2D 的半径,但我不知道如何在脚本中更改 EdgeColliders2D 的顶点,因为如果这可能发生,那么我可以完全避免多个 EdgeColliders2D 首先附加到 GameObject。

与其在同一个游戏对象上切换 sprite 和碰撞器,不如考虑拥有多个子游戏对象,每个子游戏对象都有一个 sprite 和相应的碰撞器,并在给定时间动态切换哪个将处于活动状态。这将有助于保持代码更简单,并使 level/game 设计师在场景视图中的工作更轻松。