关于flex的容器UIComponent和Sprite物体的关系

【贝武易科技专业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里面,好,下面我们来解决这个问题。

你可能感兴趣的:(工作,xml,Flex,Flash)