1

基本的にFlex Builder 3でパズルを作成しようとしています.配列からキャンバスに画像を表示し、キャンバス上でドラッグアンドドロップできます。私の問題は、画像が互いに重なり合わないようにしたくないということです。これを防ぐ方法についてのアイデアはありますか??

ドラッグするとオーバーラップできますが、ドロップするとオーバーラップできません。別の画像がまだ占有されていない最も近いポイントに「スナップ」する必要があります。

4

1 に答える 1

0

私はこれに似たようなことをしました。あなたがすることは、ターゲット(x,x + object.width)(y,y + object.height)配列に onDrop 追加することです。この前に、配列が null でない場合は、新しいオブジェクトの x または y 値が配列内の既存の範囲内にあるかどうかを確認してください。その場合、ドロップを許可しないでください。そうでない場合は、ドロップを許可してください。「画像」に関係なく、すべての画像は正方形/長方形であるため、これにより重なりが防止されます。ただし、複雑な図 (例: 円/六角形) があり、エッジを突き合わせようとしている場合、この方法は機能しません。

于 2011-02-28T21:15:24.443 に答える