/// <summary> /// 判断圆形碰撞器和圆形碰撞器是否发生碰撞 /// </summary> /// <param name="colliderA"></param> /// <param name="colliderB"></param> /// <returns></returns> private static bool CircleToCircle(QuadtreeCollider colliderA, QuadtreeCollider colliderB) { CircleQuadtreeCollider circleColliderA = (CircleQuadtreeCollider)colliderA; CircleQuadtreeCollider circleColliderB = (CircleQuadtreeCollider)colliderB; return(Vector2.Distance(circleColliderA.Position, circleColliderB.Position) <= circleColliderA.Radius + circleColliderB.Radius); }
/// <summary> /// 判断圆形碰撞器和圆形碰撞器是否发生碰撞 /// </summary> /// <param name="colliderA"></param> /// <param name="colliderB"></param> /// <returns></returns> private static bool CircleToCircle(QuadtreeCollider colliderA, QuadtreeCollider colliderB) { CircleQuadtreeCollider circleColliderA = (CircleQuadtreeCollider)colliderA; CircleQuadtreeCollider circleColliderB = (CircleQuadtreeCollider)colliderB; return(Vector2.Distance(circleColliderA.position, circleColliderB.position) <= circleColliderA.radius + circleColliderB.radius); //TODO:圆形碰撞器的半径和最大检测半径是一样的,如果功能无误可以考虑不进行强转节约计算量 }