flex顯示sprite

在Flex的幫助文檔裏,有很多例子都是擴展Sprite類的。如果想把這些實例添加到你的mx:Application中,如:addChild(DisplayObject ),肯定會出錯。錯誤的大致意思是:flash.display::Sprite沒有實現mx.core.IUIComponent接口。
    Sprite->DisplayObjectContainer ->InteractiveObject ->DisplayObject ->EventDispatcher ->Object
從Sprite的繼承關係來看,它雖然是DIsplayObject但是它沒有實現IUIComponent,不能直接添加到Flex組件裏是當然的了。Flex文檔上指出所有的可視化控件都繼承自UIComponent 而它自己是實現了IUIComponent 接口的。UIComponent 允許添。Sprite和MovieClip。
 
要顯示Sprite可以使用UIComponent包裝一下,例如

Mxml代碼
  1. var comp: UIComponent = new UIComponent();  
  2. comp.addChild(Sprite對象);  
這樣sprite就可以加入到flex中,原理是UIComponent實現了IUIcomponent接口的類,可以把該類作爲Flex和Sprite的橋樑,所有的sprite類都可以通過此類輕易的加入到flex架構中。或者把Sprite改成UIComponent就可以了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章