Apache flex 将flash库符号导入flex

Apache flex 将flash库符号导入flex,apache-flex,flash,Apache Flex,Flash,我在flex文件中嵌入了一个flash文件,然后尝试将其添加到stage中。IU尝试将子对象添加到画布元素和容器元素,但它不断给出错误,符号“myBtn”无法转换为IUIcomponent 我知道我需要将所有东西都放在某种组件中,但在flex中这样做的正确方法是什么?查找有关嵌入swf文件和嵌入swf符号的信息。多亏了这篇文章,我才明白了这一点: 你用的是一种叫做rawChildren的东西。所以我会做myComponent.rawChildren.addChild('mymc') 在这里增加儿

我在flex文件中嵌入了一个flash文件,然后尝试将其添加到stage中。IU尝试将子对象添加到画布元素和容器元素,但它不断给出错误,符号“myBtn”无法转换为IUIcomponent


我知道我需要将所有东西都放在某种组件中,但在flex中这样做的正确方法是什么?

查找有关嵌入swf文件和嵌入swf符号的信息。

多亏了这篇文章,我才明白了这一点:


你用的是一种叫做rawChildren的东西。所以我会做myComponent.rawChildren.addChild('mymc')

在这里增加儿童不是一个好办法。在进行布局、测量等操作时,容器会忽略
rawChildren

相反,只需将其包装在UIComponent中:

[Embed(source="...")]
public var someSwf:Class;

public function addSwf():void
{
    var swf:Sprite = new someSwf();
    var wrapper:UIComponent = new UIComponent();
    wrapper.addChild(swf);
    this.addChild(wrapper);
}

在这里,您可以下载一个补码,将一个符号从Flash转换成flex组件

您可以将所有移动添加到符号中,然后转换为flex组件

从库中选择符号,然后转到:

命令>将符号转换为柔性构件

然后在flex中导入swc结果

最后,将elemento添加到flex中:

    public var swfImported:NameOfTheSymbol=new NameOfTheSymbol();
    private function init():void{                      
stage.addChild(swfImported);
    }

我想我要做的是使用flex作为包装,然后使用actionscript和flash,就像我通常在容器或画布组件中使用的那样。但是看起来没有一个简单的方法可以做到这一点。谢谢,在我最后的评论之后,我才发现我实际上不能在rawChildren中使用任何东西。这样效果更好。