flex中使用Embed方式嵌入资源

 在做公司的播放器时候,开始为了减少swf的大小,并没有把资源在编译时候打包到swf中,而是采用运行时候通过外部加载方式。但是,这种方式虽然可以减少swf的大小,但是,在实际运行时候,由于用户大多数使用IE6(早该淘汰了),在并发请求的数目是有限制的(2个),所以,这样往往会资源加载失败的情况。因此,打算采用Embed方式把资源打包到swf中。不过,在这个播放器中,有不少的资源是,需要根据不同状态进行切换的。所以,建立一个Resourse类来管理这些资源。具体代码如下:

 下面的例子使用[Embed]原标签经image嵌入应用程序,并且采用绑定ActionScript类的形式。这就可以绑定Image控件的source属性到Logo类。可以绑定Logo类到任何可以使用image的组件属性上,比如Button控件的icon属性。

                               

  1. public final class Resource  
  2. {  
  3.     [Embed(source="/../assets/toolbar_play.png")]  
  4.     public static var TOOLBAR_PLAY:Class;  
  5.     [Embed(source="/../assets/toolbar_pause.png")]  
  6.     public static var TOOLBAR_PAUSE:Class;    
  7.     [Embed(source="../assets/toolbar_ff.png")]  
  8.     public static var TOOLBAR_FF:Class;  
  9.     [Embed(source="../assets/toolbar_rew.png")]  
  10.     public static var TOOLBAR_REW:Class;      
  11.     [Embed(source="../assets/loading_video.swf")]  
  12.     public static var LOADING_SWF:Class;          
  13.   
  14.   
  15. }  

 这样通过这个Resource类进行管理。

 使用方法是:

 

                     

  1. var testImg:Image = new Image();  
  2. testImg.source = Resource.TOOLBAR_PAUSE;  

    如果在运行时候需要更改testImg的source,只需要重新给source赋其他的资源对象就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值