[原]flex中调用swf-swc文件的帧里内容_神圣信仰_百度空间

[原]flex中调用swf/swc文件的帧里内容
2009-03-19 17:01

以下在Flex中实现调用swf文件或者swc文件中的帧中的内容:

本项目在Flex Builder3.0 和Flash CS3环境下完成。

在Flex Builder中实现调用swf帧里的内容:

首先,在Flash CS3创建一个ActionScript3.0 的Flash File,然后将两张图片导入库,创建一个影片剪辑,将这两张图片放入这个影片剪辑里,如图一所示:

[原]flex中调用swf-swc文件的帧里内容_神圣信仰_百度空间(图一)

然后在这个影片剪辑里的第一帧放入图片pic1_1,在第二帧里放入图片pic2_2,如图二图三所示:

  

[原]flex中调用swf-swc文件的帧里内容_神圣信仰_百度空间(图二)

[原]flex中调用swf-swc文件的帧里内容_神圣信仰_百度空间(图三)

然后在这个影片剪辑右键,选Linkage,再在里面选择Export for Actionscript,并输入类名(而这个类名,就是要在程序中引用的,在这里我输入mypic1),如图四、图五所示:

[原]flex中调用swf-swc文件的帧里内容_神圣信仰_百度空间(图四)

[原]flex中调用swf-swc文件的帧里内容_神圣信仰_百度空间(图五)

最后将这个flash publish出来,生成一个swf文件。然后打开Flex builder,将swf文件放在libs目录下。

swfpro.mxml:

<?xml version="1.0" encoding="utf-8"?>

<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"

creationComplete="init()">

<mx:Script>

   <![CDATA[

    public var varpic:mypicClass;    public var ppic:mypic1=new mypic1();

    public function init():void{

//这个是加载swf里的第一帧的东西,在flex中调用swf里的帧的内容,我只知道这个方法,有更好的方法请回复我。呵。

varpic=newmypicClass();

varpic.mouseEnabled=true;

this.addChild(varpic);//这里是添加到UIComponent中,所以不能使用gotoandplay来调用第二帧的内容

varpic.x=0;

varpic.y=0;

}

]]>

</mx:Script>

</mx:Application>

mypicClass.as:

package

{

importmx.core.UIComponent;

importflash.display.MovieClip;

[Embed(source='../libs/mypic.swf',symbol="mypic1")]

publicclassmypicClassextendsUIComponent

{

publicfunctionmypicClass()

   {//此处为空

   }

}

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

在Flex 中调用swc文件里帧的内容:

注:使用的flash与上面的一样,只是在影片剪辑里点击右键,选择“Export swc file”,如下图所示:

[原]flex中调用swf-swc文件的帧里内容_神圣信仰_百度空间

swfpro1.mxml:

<mx:Script>

<![CDATA[

importflash.display.*;

importmx.core.UIComponent;

importflash.display.MovieClip;

publicvarvarpic:mypicClass;

publicvarppic:mypic1=newmypic1();

privatevaruc:UIComponent=newUIComponent();

publicvarii:int=1;

publicfunctioninit():void{

this.addChild(uc);

uc.addChild(ppic);

ppic.x=0;

ppic.y=0;

ppic.gotoAndStop(1);

ppic.addEventListener(MouseEvent.CLICK,mouseHandler);

}

privatefunctionmouseHandler(evt:MouseEvent):void{

if(1==ii){

ppic.gotoAndStop(2);//这里实现了获取swc文件里帧的内容

ii=0;

}else{

ppic.gotoAndStop(1);

ii=1;

}

}

]]>

</mx:Script>

来源:http://hi.baidu.com/suterfo/blog/item/33a7d645410efa3786947357.html

相关推荐