Flash Swc中的UIC组件

Flash Swc中的UIC组件,flash,actionscript-3,Flash,Actionscript 3,在Flash中,如果我创建一个自定义Movieclip并将其编译成SWC,我可以通过链接到.SWC.在.fla文件中使用它 var mcInstance = new CustomMovieClip(); addChild(mcInstance); 自定义movieClip层上的所有图形排列都将保留 如果我将UIComponent子类化并编译为swc,我可以在.fla文件中使用自定义类,但新实例似乎并没有构造排列在层上的子类 我知道制作自定义组件的正确方法是使用两个帧,第一个帧指定边界框,第二个

在Flash中,如果我创建一个自定义Movieclip并将其编译成SWC,我可以通过链接到.SWC.在.fla文件中使用它

var mcInstance = new CustomMovieClip();
addChild(mcInstance);
自定义movieClip层上的所有图形排列都将保留

如果我将UIComponent子类化并编译为swc,我可以在.fla文件中使用自定义类,但新实例似乎并没有构造排列在层上的子类

我知道制作自定义组件的正确方法是使用两个帧,第一个帧指定边界框,第二个帧指定资源,第1帧中的第一个图形在运行时被删除。但我并不是真的想制作一个可重用的组件——我只是想使用UIComponent类,它似乎对Sprite有一些很好的扩展

由于我真的希望在组件内部有一些手动放置的层,我想我可以将边界框作为第1帧上的第一个元素,因为我知道它将被删除,但我在第1帧上放置的任何其他项目都将被保留—按钮、图像、线等


这可能吗

UIComponent不是Flex的组件吗?我认为这在佛罗里达州是行不通的。

所以我想出来了。。我以某种方式链接了原始的.as文件,而不是.swc中的符号

示例:我有一个.fla合成中默认MovieClip的符号实例

我把它改名为

属性:类:CustomMovieClass

注意:我还没有创建.as文件。我得到一个小小的警告——在类路径中找不到该类的定义,因此在导出时会在SWF文件中自动生成一个

我将movieclip导出为Assets.swc

-那就休息一下吧

创建新的TestingAssets.fla文件,将Assets.swc添加到库路径。从这个项目中的一些代码

var ob1:CustomMovieClass = new CustomMovieClass();
addChild(ob1);
耶!它活灵活现,我在CustomMovieClass时间表中所做的所有动画都很好地结合在一起

-那就再休息一下吧

回到原始项目中,创建CustomMovieClass.as

package {
    import flash.display.MovieClip;
    public class CustomMovieClass extends MovieClip {
        // Simplest custom class definition
    }
}
和再出口资产

回到TestingAssets.fla,build and run-没有任何东西可以很好地编译和构建,但是没有动画

因此,我在CustomMovieClass.as中输入了一个拼写错误,然后再次构建,记住我是针对.swc链接的,我向您发誓,这个CustomMovieClass.as文件不在类路径或库路径中…并且编译器错误。因此,不知何故,它是在原始src中链接,而不是编译成swc版本


谢谢收听。

不,它在Flash中运行良好。Flash附带了fl.display.UIComponent的许多子类。您正在考虑mx.core.ui组件