private PointToJigsaw ( System.Vector2 point ) : System.Vector2 | ||
point | System.Vector2 | 要转换的点。 |
Результат | System.Vector2 |
/// <summary> /// 判断指定的拼图碎片是否可以与当前碎片合并。 /// </summary> /// <param name="piece">要判断合并的拼图碎片。</param> /// <param name="radius">允许进行吸附的半径。</param> /// <returns>是否能合并。</returns> public bool CanMerge(JigsawPiece piece, float radius) { if (piece == this) { return true; } if (piece.rotate != this.rotate) { return false; } // 在拼图坐标系下比较 (0, 0) 点的距离。 Vector2 point = new Vector2(); return radius * radius >= Vector2.DistanceSquared(this.PointToJigsaw(point), piece.PointToJigsaw(point)); }
/// <summary> /// 判断指定的拼图碎片是否可以与当前碎片合并。 /// </summary> /// <param name="piece">要判断合并的拼图碎片。</param> /// <param name="radius">允许进行吸附的半径。</param> /// <returns>是否能合并。</returns> public bool CanMerge(JigsawPiece piece, float radius) { if (piece == this) { return(true); } if (piece.rotate != this.rotate) { return(false); } // 在拼图坐标系下比较 (0, 0) 点的距离。 Vector2 point = new Vector2(); return(radius * radius >= Vector2.DistanceSquared(this.PointToJigsaw(point), piece.PointToJigsaw(point))); }