【贝武易科技专业flex3D开发--www.newflash3d.com】
我们通过如下的方法导入图像或swf素材,假设我们素材在的项目下src/assets目录里有文件FigureMov.swf和Figure.png,如图,我们需要把它们导入到我们的flex项目
FigureMov.swf为一个swf动画,我们做了一个简单位移动画,由0帧到25帧,没加脚本。
在我们的主程序输入如下代码就可以直接导入该swf文件到我们flex项目了。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init();">
<mx:Script>
<![CDATA[
[Embed(source='assets/FigureMov.swf')]
public var FG:Class;
public var FGmc:MovieClip = new FG as MovieClip;
private function init():void{
stage.addChild(FGmc);
}
]]>
</mx:Script>
</mx:Application>
简单的解释一下,
[Embed(source='assets/FigureMov.swf')]\\告诉flex插入文件的路径
public var FG:Class;\\把它作为一个新的类储存下来,可以这么理解
public var FGmc:MovieClip = new FG as MovieClip;\\生成这个类的对象,并定义为MovieClip,“as MovieClip”
当然,把素材导就来后,我们就可以对他进行控制了
加入如下代码
FGmc.gotoAndStop(10);
新修改的代码如下
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init();">
<mx:Script>
<![CDATA[
[Embed(source='assets/FigureMov.swf')]
public var FG:Class;
public var FGmc:MovieClip = new FG as MovieClip;
private function init():void{
stage.addChild(FGmc);
addEventListener(Event.ENTER_FRAME, aa);
}
private function aa(evt:Event):void {
FGmc.gotoAndStop(10);
}
]]>
</mx:Script>
</mx:Application>
执行了上面的代码,我们会发现一个问题,FGmc总是停留在一个开始阶段,这是因为导入方法的问题,
[Embed(source='assets/FigureMov.swf')]
public var FG:Class;
public var FGmc:MovieClip = new FG as MovieClip;
我们的MovieClip总是停在一个地方,它不会根据我们的gotoAndStop(10)来定义它停在什么地方,下面我们通过SWFLoader组件来克服这个问题。(上面是我的理解,如果那位有更好的方法,请不惜赐教)
下面是应用SWFLoader组件的代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init();">
<mx:SWFLoader id="swfload" source="assets/FigureMov.swf"/>
<mx:Script>
<![CDATA[
private var mc:MovieClip;
private function init():void{
mc = swfload.content as MovieClip;
addEventListener(Event.ENTER_FRAME, aa);
}
private function aa(evt:Event):void {
mc.gotoAndStop(12);
}
]]>
</mx:Script>
</mx:Application>
简单的分析一下:
<mx:SWFLoader id="swfload" source="assets/FigureMov.swf"/>
生成一个新的SWFLoader,它的id代号为swfload,导入文件的路径为assets/FigureMov.swf;
通过它来生成一个我们所需要的新的MovieClip实例mc,语法为
mc = swfload.content as MovieClip;
注意文件后面的.content,是swfload的内容。
如果我们需要导入图像,简单的执行
[Embed(source='assets/Figure.png')]
public var FGB:Class;
public var FGbitmap:Bitmap = new FGB as Bitmap;
然后把它加入到场景即可。
- 大小: 7.1 KB
分享到:
相关推荐
Flex中加载SWF方法,介绍了flex 对 swf 加载和处理
Flex中SWF和其他SWF文件之间的通信原理。该案例中TestLocalConnection为主SWF文件加载了TestLocalConnectionReceiver.SWF,两者之间是在同一个域下的通信,工程代码编译路径需要下载者手动修改下。其他技术细节参见...
flex加载swf的N种方法.zip
Flex中加载其他SWF动画时,需要控制引入的SWF的播放进度
一个简单的flex加载外部swf文件并对其进行操作的源码程序
这里讲述的是在Flex Application中嵌套一个SWF,然后实现Flex与SWF相互间的通讯。我们需要引入SystemManager接口实现。 环境:Eclipse + Flex Builder
一个简单Flex控制SWF播放的范例。 内含一个Flash源码。 Import到Flex Builder就可以了
flex放大镜、flex滤镜、flex图像放大、局部图像放大
//fr.data为flex加载excel的byte数组 var sheet:Array = excel.getSheetArray();//得到表格数据,为Array格式 var datasource:ArrayCollection = new ArrayCollection(sheet); //可转换为ArrayCollection,用于表格...
Flex导入Excel文件的应用部分代码,这里只是几个代码文件,具体环境需要重新搭建。
NULL 博文链接:https://412599526-qq-com.iteye.com/blog/1267664
SWF之间通信、Flex与SWF之间通信、C#与SWF之间通信
jsp中嵌套 flex 生成的 swf html 自己开发系统拓扑图的例子
flex excel文件导入到出 DataGrid
FLEX可视化开发工具,图形显示工具,适合FLEX开发的美工人员使用
flex加载as2写的swf,内容是一个很雷的网页游戏AD
Flex Builder4.5导入Excel和CSV文件到DataGrid中,并自定义DataGrid选中行的右键
在flex界面中实现简单的导入03版excel文件