2013-11-28 5 views
0

저는 플렉스 스크린을 개발 중입니다. 여기에는 캔버스가 있으며, 버튼이있을 것입니다.이 버튼을 클릭하면 동적으로 패널을 생성 할 수 있습니다. 패널을 수동으로 드래그하여 새 패널을 작성한 다음 다른 패널 위에없는 새 패널을 다른 위치에 만들어야하는 위치에 보관합니다. 이것을 달성하는 방법 .Pls는 모든 해결책을 제공합니다. 감사합니다.패널은 Flex에서 캔버스 내부에서 자동으로 배열됩니다.

답변

0

내 생각은 만든 패널의 배열을 유지한다는 것입니다. 새 패널을 만들 때 생성 된 패널이 있으면 (x 및 y 위치와 너비, 높이를 확인하고 골리앗이 있는지 확인)이 목록에서 확인해야합니다.

tou는 다음을 기반으로 새 구성 요소를 만들 수 있습니다. 캔버스를 만들고 addChild 메서드를 재정의합니다.

+0

ur 답장을 보내 주셔서 감사합니다 ... 이미 패널 배열을 가지고 있습니다.하지만 내 의심은 패널이 충돌하지 않는지 확인하는 방법입니다 .. 그게 붙어있는 곳 ... –

+0

4 점의 좌표 가져 오기 - 각 모서리 새 패널의 그 중 하나가 다른 패널 (테스트 : otherPanel.x> newPanel.x> otherPanel.x + otherPanel.width 및 y (및 높이)에 동일 함)에 배치되는지 확인합니다. 충돌이없는 경우 새 패널을 배치합니다. 그렇지 않으면 새로운 위치를 얻고 처음부터 다시 확인하십시오.하지만이 경우 새 패널에 대해 어지러운 곳이 없다면 막힐 수 있습니다. 충돌을 확인하는 대신 초기 위치를 계산해야하지만 그것을 다시 생각해야한다. – Misiakw