【发布时间】:2011-08-28 09:09:38
【问题描述】:
我正在使用 -mouseDragged 方法移动一些 CALayer,现在我想在它们足够近时(或者当它们稍微重叠时)“捕捉”它们。
每一层都不是“正方形”:我正在绘制不同的多边形。
我认为这样做的一种方法是:
- 获取被移动层的位置;
- 获取重叠图层或移动图层附近的图层;
- 在 (2) 为真的多边形的每一侧,我需要检查移动层的一侧和图层的一侧之间的最大距离(与图层的一侧成直角) “near”(图层重叠时为负值)。
- 相应地移动图层。
我不知道这是否是正确的方法。我首先想到的是:
- 如果我可以“卡入”多个侧面会怎样?
而且,即使我尝试这种方式,我也不知道如何处理 (2) 和 (3)。
有更好的方法吗?
【问题讨论】: