Flash中flash包、fl包和mx包的区别
来源:互联网 发布:java反射获取私有属性 编辑:程序博客网 时间:2024/05/16 13:38
http://blog.csdn.net/peterpeng881003/article/details/7221088
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包
-----------------------
在flex中导入fl包
http://blog.csdn.net/summerhust/article/details/6970195
flash包与fl包有什么不同?
网上经常可以看到说flash导出的动态连接库无法直接在Flex中用,确实是这样吗?既然flash包是Flash Player核心的库,而动态链接库的类一般都继承MovieClip或Sprite、BitmapData之类的,所以当然可以跟用Flex下的这些类的子类一样去用这些导出类。只是要注意的一点是:MC和Sprite等不是继承自UIcomponent类的组件不可以直接addChild进Flex 中,要用UIcomponent转化一下。
那我们如果要在FB中用到fl包,应该怎么办呢?很简单,在Flash中将fl包发布为一个swc组件即可跟核心包一样在FB下利用了,并且代码智能提示一样不少。在FD中也可用这个方法,另外FD中还可:复制FlashDevelop\Library\AS3\frameworks\FlashIDE下面的fl包到FlashDevelop\Library\AS3\intrinsic\FP10或FP9下,重启FD就可看到这时已经有fl包的智能提示了。
-----------------------
http://xlh1221it.blog.163.com/blog/static/129587224201092665658660/
解决了如何在ActionScript工程中使用fl包中的UI组件问题后,我就想为啥不能使用Flex mx包中的UI组件呢!mx包中提供的UI组件比fl包中的功能更强大。而且也在网上搜到了介绍如何在ActionScript项目中导入flex组件的方法。于是写了一个简单的测试代码试了一下,发现编译和运行的时候都不会报错,只是UI组件无法显示。
测试代码如下:
package { import flash.display.Sprite; import mx.controls.Button; public class TestFlexUI extends Sprite { public function TestFlexUI() { var btn:Button = new Button(); btn.label = "FLex UI"; btn.width = 200; btn.height = 100; addChild(btn); } }}随后想到以前在一个flex工程中,是不能直接添加Sprite类到显示列表的,必须先用UIComponent封装一下。
于是将代码改为:
package { import mx.controls.Button; import mx.core.UIComponent; public class TestFlexUI extends UIComponent { public function TestFlexUI() { var btn:Button = new Button(); btn.label = "FLex UI"; btn.width = 200; btn.height = 100; addChild(btn); } }}再运行的时候就会报“ No class registered for interface 'mx.styles::IStyleManager2'”这个错误。搜了一下,随后彻底死心了,在ActionScript项目中还真是不能使用mx包中的UI组件。
Adobe官方论坛上有一个帖子讲述了这个问题,大致意思是说:你要使用mx包中像Button这样的UI组件都是从UIComponent中继承的,需要被其他的Flex类实例化和管理。如果非要使用会很麻烦,你需要一个实现了ISystemManager的容器来放你的UI组件,这样你需要修改好几十个类来实现这个接口。
这也就解释了为何很多Flash游戏项目中做用户界面都要使用fl包,而没见过使用mx包的。
- Flash中flash包、fl包和mx包的区别
- Flash中flash包、fl包和mx包的区别
- flash、fl、mx包的区别
- FLEX3里如何导入FLASH CS3 的FL包
- flex包和flash包中matrix的一些了解(陆续。。。。)
- 常用flash包
- flash builder导包
- 纯 as3 项目中引用 fl 包下的类
- Flash MX 2004 和 Flash MX Professional 2004 中同时提供的新功能
- FlashDevelop调用fl包
- 在flex中导入fl包
- 在flex中导入fl包
- flex中flash.events和mx.events的事件的区别
- Hadoop中mapred包和mapreduce包的区别
- Hadoop中mapred包和mapreduce包的区别
- Hadoop中mapred包和mapreduce包的区别(转)
- Hadoop中mapred包和mapreduce包的区别
- jar包和war包的区别
- cookie的JS操作小记
- linux开机自动选择所进入的系统
- 一个可以下载视频的网站
- SQL Server 存储过程
- 【python】爬虫教程大全
- Flash中flash包、fl包和mx包的区别
- poj 2115 C Looooops(扩展欧几里得)
- js javascript js控制分页打印,打印分页
- C#事件学习
- Django:ManyToManyField
- Groovy入门教程
- 彩色图像霍(哈)夫曼编码、解码
- 一些无聊时的关于技术设计的想法
- photoshop切片工具