您的位置:首页 > 其它

flex中使用Embed方式嵌入资源

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

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

                               

[java]
view plain
copy
print?

public final class Resource  
{  
    [Embed(source="/../assets/toolbar_play.png")]  
    public static var TOOLBAR_PLAY:Class;  
    [Embed(source="/../assets/toolbar_pause.png")]  
    public static var TOOLBAR_PAUSE:Class;    
    [Embed(source="../assets/toolbar_ff.png")]  
    public static var TOOLBAR_FF:Class;  
    [Embed(source="../assets/toolbar_rew.png")]  
    public static var TOOLBAR_REW:Class;      
    [Embed(source="../assets/loading_video.swf")]  
    public static var LOADING_SWF:Class;          
  
  
}  



public final class Resource
{
[Embed(source="/../assets/toolbar_play.png")]
public static var TOOLBAR_PLAY:Class;
[Embed(source="/../assets/toolbar_pause.png")]
public static var TOOLBAR_PAUSE:Class;
[Embed(source="../assets/toolbar_ff.png")]
public static var TOOLBAR_FF:Class;
[Embed(source="../assets/toolbar_rew.png")]
public static var TOOLBAR_REW:Class;
[Embed(source="../assets/loading_video.swf")]
public static var LOADING_SWF:Class;

}


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

 使用方法是:

 

                     

[java]
view plain
copy
print?

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



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


    如果在运行时候需要更改testImg的source,只需要重新给source赋其他的资源对象就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  embed