BorderContainer 내부에 격자에 맞추기 기능을 제공해야합니다. 모든 기능이 완료되었지만 그리드를 그리는 한 가지 문제로 인해 막혔습니다.Flex UI 구성 요소 안에 그리드를 그리는 데 사용할 이벤트
Creation_Complete 이벤트를 사용하여 시도했지만 제대로 작동하지만 자식이 추가되자 마자 눈금이 사라집니다.
오버라이드가 updateDisplayList - 이것은 최선의 선택은 지금까지 (모든 것이 잘 작동),하지만 움직일 때마다 문제는 (또는 이동할 때 오히려) 내부 통제가 updateDisplayList 방법이라고합니다 (I는 ObjectHandles 라이브러리 사용)하는 그리드를 다시 그립니다 -> 이동 과정이 매우 느려집니다.
그리드를 채우는 방법입니다.
numRows = Math.ceil(this.unscaledHeight/gridSize);
numCols = Math.ceil(this.unscaledWidth/gridSize);
this.graphics.beginFill(0x000000, 1.0);
for (var i:int= 0; i < numRows; i++)
{
for (var j:int = 0; j < numCols; j++)
{
this.graphics.drawCircle(j * gridSize, i * gridSize, 1);
}
}
this.graphics.endFill();
컨테이너를 크기 조정할 때만 한 번 그립니다. 이 일을 성취하는 데 도움이되는 어떤 사건이 있습니까? 아니면 그리드를 그리는 데 도움이되는 효율적인 방법이 있습니까? 모든 의견 및 제안을 환영합니다. 고맙습니다 :
Nice !! 직장에서 이것을 시도하고 알려 드리겠습니다. 이 트릭을해야합니다 :) –
안녕하세요. 노력에 대한 고맙습니다. 하지만 코드의 문제는 다음에 updateDisplayList가 호출 될 때 그려주지 않으면 사라진다는 것입니다. 더 이상의 제안? –
귀하의 요구 사항을 충족시키기 위해 제 대답이 향상되었습니다. – Constantiner