【贝武易科技专业flex3D开发--www.newflash3d.com】
flex中的架构,(举例UIComponent类的继承关系)
UIComponent > FlexSprite> Sprite >DisplayObjectContainer>InteractiveObject >Displayobject
flash中的架构(Sprite类的继承关系)
Sprite >DisplayObjectContainer>InteractiveObject >Displayobject
Flex中的UIMovieClip类继承于UIComponent ,flash中的MovieClip继承于Sprite,
它们的这种继承关系我们可以通过flex帮助手册查阅到。
下面我们就通过实例来明确UIComponent和Sprite的关系。
我们生成一个canvasExe.mxml文件,加入一个canvas组件,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Canvas id="canvas3d" width="300" height="300" backgroundColor="0xffffff">
</mx:Canvas>
</mx:Application>
生成一个300 X 300的画布,id标识为canvas3d。
加入一个assets目录下的图像Figure.png,在项目里建立一个名为assets的文件夹,然后把Figure.png放到里面。
结果代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init();">
<mx:Canvas id="canvas3d" width="300" height="300" backgroundColor="0xffffff">
</mx:Canvas>
<mx:Script>
<![CDATA[
[Embed(source='assets/Figure.png')]
public var FGB:Class;
public var FGbitmap:Bitmap = new FGB as Bitmap;
private function init():void{
canvas3d.rawChildren.addChild(FGbitmap);
}
]]>
</mx:Script>
</mx:Application>
运行,获得的结果
我们发现一个严重的问题,就是我们导入的图像出了我们的画布的框了,我们需要它包括在画布canvas3d里面,好,下面我们来解决这个问题。