Flex4 中Group的Graphics.clear()问题

做简单绘图功能时遇到一个诡异的问题,使用flex4 Group作为画板,用其graphics来绘图的时候发现。
一旦调用了g.clear(),再画就没反应了,进一步发现,group不响应mouseDown事件了。

让别人试验,也是同样的结果。

回头来看group的源码发现,在updateDisplayList方法中有如下一段
            graphics.clear();
            drawBackground();


原来group之所以能响应鼠标,是绘制了一个背景,而直接调用graphics.clear();之后没有重新绘制这个背景,它就不响应了。

解决方法,在想要清除自己绘制部分的时候用group.invalidateDisplayList(),这样会使group调用updateDisplayList重新绘制。

这样会不会引发其它问题暂时还没发现。

你可能感兴趣的:(Flex,graphics,group)