fl,flash,mx包的区别

时间:2023-01-18 17:02:57
在ActionScript项目中还真是不能使用mx包中的UI组件。
 
        Adobe官方论坛上有一个帖子讲述了这个问题,大致意思是说:你要使用mx包中像Button这样的UI组件都是从UIComponent中继承的,需要被其他的Flex类实例化和管理。如果非要使用会很麻烦,你需要一个实现了ISystemManager的容器来放你的UI组件,这样你需要修改好几十个类来实现这个接口。
 
        这也就解释了为何很多Flash游戏项目中做用户界面都要使用fl包,而没见过使用mx包的。最后我自己总结了一下这几个包的关系(就像中学时候经常总结课本知识一样):
 
1、flash包是FlashPlayer的核心,fl包和mx包都是扩展自flash包
2、fl包用于Flash CS,mx包用于Flex Builder
3、在所有项目中都能使用flash包
4、在纯ActionScript项目和Flash CS项目中不能使用mx包,准确点说是不能使用mx包中,与UIComponent有关的包。其他的包貌似可以使用,不过我也没有都测试过,看到有ActionScript类使用mx包里类库的。(有待进一步研究)
5、Flex项目中是可以有ActionScript文件和类的,这里面可以使用mx包
6、在ActionScript项目和Flex项目中可以使用fl包