Flex4 中Group的Graphics.clear()

做簡單繪圖功能時遇到一個詭異的問題,使用flex4 Group作爲畫板,用其graphics來繪圖的時候發現。
一旦調用了g.clear(),再畫就沒反應了,進一步發現,group不響應mouseDown事件了。

讓別人試驗,也是同樣的結果。

回頭來看group的源碼發現,在updateDisplayList方法中有如下一段
 

 
  1. graphics.clear();
  2. drawBackground();



原來group之所以能響應鼠標,是繪製了一個背景,而直接調用graphics.clear();之後沒有重新繪製這個背景,它就不響應了。

解決方法,在想要清除自己繪製部分的時候用group.invalidateDisplayList(),這樣會使group調用updateDisplayList重新繪製。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章