Flex:SpriteVisualElement不能作为子标签添加?

Yor*_*iev 1 apache-flex

            var s : SpriteVisualElement = new SpriteVisualElement();
                s.graphics.beginFill( 0xFFFF00 );
                s.graphics.drawRect( 0, 0, 100, 20 );
                s.graphics.endFill();
                s.width = 100;
                s.height = 20;
            this.addElement( s ) ;

            var l : Label = new Label();
                l.text = "text";
                l.width = s.width;
                l.height = s.height;
            s.addChild( l );
Run Code Online (Sandbox Code Playgroud)

以下代码似乎无法正常工作(Flex 4.5).

  • 什么可能导致这个问题,以及如何解决它?

J_A*_*A_X 5

它没有显示,因为您没有将Label(它是一个UIComponent并与组件生命周期一起使用)添加到另一个将实际正确实例化它的UIComponent.你的SpriteVisualElement没有在其中包含UIComponents,它被设置为具有可以绘制自己的精灵.Label正在等待调用'invalidateDisplayList',以便它可以自己绘制.

要么强制绘制,要么使用UIComponent作为Label的容器.