Я пытался нарисовать серию точек, используя UIComponent, используя:
var line : UIComponent = new UIComponent();
...
line.graphics.lineTo(renderPoint.x, renderPoint.y);
, а затем обновить mainContainer
, который является Canvas
объектом, используя:
mainContainer.addChild(line);
Основной контейнер представлен в MXML как:
<mx:Panel x="270" y="10" width="690" height="680" id="mainContainerPanel">
<mx:Canvas width="690" height="680" initialize="onInit()" id="canvas">
<mx:Script>
protected function onInit():void
{
spiro = new Spirograph(canvas);
}
</mx:Script>
</mx:Canvas>
</mx:Panel>
Обратите внимание
Я использую событие Event.ENTER_FRAME
, чтобы выполнить drawLine()
, и оно перебирает массив, чтобы каждый раз рисовать:
for (var j:int = 0; j < _segment.length; j++)
{
renderPoint = _segment[j];
line.graphics.lineTo(renderPoint.x, renderPoint.y);
}
mainContainer.addChild(line);
Проблема в том, что хотя у меня есть все renderPoint
сегменты и т. Д. Линия никогда не рисуется или никогда не отображается. Я думаю, это может быть из-за некоторой вещи Flex, которая не так очевидна.
Я пытался не использовать весь код здесь для удобства чтения, надеюсь, описание простое.