我在我的tilemap中使用复合对撞机2d作为触发器来定义梯子。问题是试图获取与我碰撞的特定阶梯上的数据。我需要梯子中心的x值,以便在攀爬时可以使玩家居中。
我通常会在OnTriggerEnter2D中使用Collider2D并使用边界来确定梯子的中心,但是使用复合对撞机时,将使用tilemap中的所有图块来确定边界。
我认为解决方案必须与'shapes'有关,因为当我调试 collision.shapeCount 时,它给了我正确数量的链条(在链条中为2示例案例
void OnTriggerEnter2D(Collider2D collision) {
if (collision.transform.CompareTag("Chains")) {
Debug.Log("n of chains: " + collision.shapeCount);
//Debug.Log(collision.bounds.center); - nope
//Debug.Log(collision.composite.bounds.center); - nope
BeginClimb();
}
}
那么,有没有一种方法可以获取我们要击中的特定单梯形“形状”对撞机而不是整个tilemap对象的数据?
谢谢!