2010-04-16 2 views
1

기본적으로 Flex Builder 3에서 퍼즐을 만들려고합니다. 배열의 이미지를 캔버스 주위로 드래그 앤 드롭 할 수있는 캔버스에 표시합니다. 내 문제는 내가 이미지가 서로 겹칠 수 있기를 바라지 않는다는 것이다. 이걸 방지하는 방법에 대한 아이디어 ??Flex에서 DragDrop 이미지 겹침 방지

드래그 할 때 겹칠 수 있지만 놓을 때는 겹칠 수 없습니다. 다른 이미지가 이미 차지하지 않은 가장 가까운 지점에 "스냅"해야합니다.

+1

주위를 드래그 할 때 또는 캔버스에서 그릴 때 겹치지 않는 것을 의미합니까? –

+0

조쉬가 맞습니다. 귀하의 질문을 명확히하십시오. – Robusto

답변

0

나는 이와 비슷한 것을했다. 당신이 할 일은 배열에 대상 (x,x + object.width)(y,y + object.height)을 추가하십시오. 이전에 array가 null이 아닌 경우 새 객체의 x 또는 y 값이 배열의 기존 범위 내에 있는지 확인합니다. 그렇다면 드롭을 허용하지 마십시오. 드롭을 허용하십시오. "그림"에 관계없이 모든 이미지는 정사각형/직사각형이므로 겹침을 방지 할 수 있습니다. 그러나 복잡한 그림 (예 : 원/육각형)이 있고 모서리를 서로 맞대고있는 경우이 방법은 작동하지 않습니다.