我也提出问题

保留原著,并且问题被回答或审核通过时通知你:


Author Archives: Mhycoe

swfaq.org Mhycoe.com

flash包与fl包有什么区别?

          flash包与fl包到底有什么区别呢?简单的说就是flash是Flash Player核心的库,不管在Flash中还是FD、FB中,都可以用;而fl是专门用于Flash中的一个组件库。虽然fl包下很多包名是跟flash包下一样的,但却不是相同的,大致可将前者看作是后者的一个扩展。就跟Flex中的mx包是专门用于FB作为flash核心类的扩展一个道理。
        网上经常可以看到说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包的智能提示了。

如何创建你的位图并让它可见?

跟AS2.0一样,首先需要调用构造函数 BitmapData() 来创建一个新的 BitmapData 实例:
var myBitmapData:BitmapData = new BitmapData (width:Number, height:Number, transparent:Boolean, fillColor:Number);
当你创建了BitmapData对象后,你可能会想以某种方式把它加到显示列表中,让它显示在华丽的舞台上。你可能会想到以为直接 addChild(myBitmapData) 就能把它放到显示列表上。但 addChild() 方法只能工作在扩展了 DisplayObject 类的对象上,如Sprite、MoviceClip 和 TextField 。然后,如果研究这个类的结构,你会发现 BitmapData 并没有扩展 DisplayObject,因此不能直接通过 addChild() 方法把它放到显示列表上。这时候需要使用 Bitmap 类了。Bitmap 类几乎只有一个功能——作为 BitmapData 实例的显示容器。
例子:
var myBitmapData:BitmapData = new BitmapData(100, 100, false, 0xff0000);
var myBitmap:Bitmap = new Bitmap(myBitmapData);
注意:

BitmapData只是用于存储和处理位图的信息,它不继承于DisplayObject。
Bitmap类主要是装载BitmapData的显示对象,用于显示你创建的位图。