[原]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:Application xmlns: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=new mypicClass();
     varpic.mouseEnabled=true;
     this.addChild(varpic);//这里是添加到UIComponent中,所以不能使用gotoandplay来调用第二帧的内容
     varpic.x=0;
     varpic.y=0;
    }
   ]]>
</mx:Script>
</mx:Application>

 

mypicClass.as:

package
{
import mx.core.UIComponent;
import flash.display.MovieClip;
[Embed(source='../libs/mypic.swf',symbol="mypic1")]
public class mypicClass extends UIComponent
{  
   public function mypicClass()
   {//此处为空

   }
  
}
}

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

 

 

 

 

 

 

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

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

 

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

swfpro1.mxml:

<mx:Script>
   <![CDATA[
    import flash.display.*;
    import mx.core.UIComponent;
    import flash.display.MovieClip;
    public var varpic:mypicClass;
    public var ppic:mypic1=new mypic1();
    private var uc:UIComponent = new UIComponent();
   
    public var ii:int=1;
    public function init():void{
     this.addChild(uc);
     uc.addChild(ppic);
     ppic.x=0;
     ppic.y=0;
     ppic.gotoAndStop(1);
     ppic.addEventListener(MouseEvent.CLICK,mouseHandler);
    }
    private function mouseHandler(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

你可能感兴趣的:(Flex,百度,Flash,Adobe,actionscript)