mxmlコンポーネントにDisplayObjectを追加する

mxmlコンポーネントには、IUIComponentを実装したものしかaddChildできません。
なので

this.addChild( new Sprite() );

とかできません。
表示するオブジェクトがmxmlコンポーネントだけとかなら別にいいのですが、そういうことばかりでもないので困ります。

解決法1 - UIComponentを実装する

Spriteを実装せずにではなくてmx.core.UIComponentを実装することでも解決できます
UIComponentを実装しておけばaddChildできます。
※UIComponent自体にはSpriteなどのDisplayObjectをaddChildできます

解決法2 - SWLloaderを使う

SWLloaderを使うことで解決できます

import mx.controls.SWFLoader;
//
var sl:SWFLoader = new SWFLoader();
var td:Sprite= new Sprite();
sl.source = td;
this.addChild( sl );

みたいな感じでDisplayObject追加できるようになります。