基本的にFlex Builder 3でパズルを作成しようとしています.配列からキャンバスに画像を表示し、キャンバス上でドラッグアンドドロップできます。私の問題は、画像が互いに重なり合わないようにしたくないということです。これを防ぐ方法についてのアイデアはありますか??
ドラッグするとオーバーラップできますが、ドロップするとオーバーラップできません。別の画像がまだ占有されていない最も近いポイントに「スナップ」する必要があります。
基本的にFlex Builder 3でパズルを作成しようとしています.配列からキャンバスに画像を表示し、キャンバス上でドラッグアンドドロップできます。私の問題は、画像が互いに重なり合わないようにしたくないということです。これを防ぐ方法についてのアイデアはありますか??
ドラッグするとオーバーラップできますが、ドロップするとオーバーラップできません。別の画像がまだ占有されていない最も近いポイントに「スナップ」する必要があります。
私はこれに似たようなことをしました。あなたがすることは、ターゲット(x,x + object.width)
を(y,y + object.height)
配列に onDrop 追加することです。この前に、配列が null でない場合は、新しいオブジェクトの x または y 値が配列内の既存の範囲内にあるかどうかを確認してください。その場合、ドロップを許可しないでください。そうでない場合は、ドロップを許可してください。「画像」に関係なく、すべての画像は正方形/長方形であるため、これにより重なりが防止されます。ただし、複雑な図 (例: 円/六角形) があり、エッジを突き合わせようとしている場合、この方法は機能しません。