メソッドを使用していくつかの CALayer を移動してい-mouseDragged
ますが、それらが十分に近くにあるとき (またはそれらが少し重なっているとき) に「スナップ」したいと考えています。各レイヤーは「正方形」ではありません。さまざまなポリゴンを描いています。
これを行う方法は次のとおりだと思いました。
- 移動中のレイヤーの位置を取得します。
- 重なっているレイヤーまたは移動中のレイヤーの近くにあるレイヤーを取得します。
- (2)が真であるポリゴンの各辺で、移動レイヤーの辺と「近い」レイヤーの辺の間の最大距離(レイヤーの辺に直角)を確認する必要があります(レイヤーが重なっている場合、これは負の値です)。
- それに応じてレイヤーを移動します。
これが正しいアプローチかどうかはわかりません。私の頭に浮かぶ最初のことは次のとおりです。
- 複数の面に「スナップ」できるとどうなりますか?
そして、このようにやっても(2)と(3)はどうすればいいのかわかりません。
それを行うより良い方法はありますか?