Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 减少类对象的数量以访问嵌入式资源_Actionscript 3_Embed - Fatal编程技术网

Actionscript 3 减少类对象的数量以访问嵌入式资源

Actionscript 3 减少类对象的数量以访问嵌入式资源,actionscript-3,embed,Actionscript 3,Embed,我正在构建一个包含大量嵌入式位图等的Flex项目。在Actionscript中获取位图的常用方法似乎是执行以下操作 [Bindable] [Embed(source = '../lib/WhiteFencePost.png')] private static var clsObstacleFencePost : Class; var bitmap : BitmapAsset = new clsObstacleFencePost(); 我已经有几十个这样的东西了,我可以很容易

我正在构建一个包含大量嵌入式位图等的Flex项目。在Actionscript中获取位图的常用方法似乎是执行以下操作

   [Bindable] [Embed(source = '../lib/WhiteFencePost.png')]
    private static var clsObstacleFencePost : Class;
   var bitmap : BitmapAsset = new clsObstacleFencePost();

我已经有几十个这样的东西了,我可以很容易地看到,当项目完成时,最终会有数百个这样的东西。有什么方法可以避免为每个位图创建类吗?

有几种方法。。。使用actionscript的任何zip库将所有文件打包到zip-embed-zip-unpack中,然后根据需要使用Loader.loadBytes。Zip内容可以枚举,所以如果您知道如何按名称处理文件,您甚至不需要应用程序中的文件列表。

有很多方法。。。使用actionscript的任何zip库将所有文件打包到zip-embed-zip-unpack中,然后根据需要使用Loader.loadBytes。Zip内容可以枚举,所以如果您知道如何按名称处理文件,您甚至不需要在应用程序中使用文件列表。

尝试创建一个具有如下静态类的资产管理器

class AssetManager
{

    [Bindable]
    [Embed(source = '../lib/WhiteFencePost.png')]
    public static var WhiteFencePost:Class;

    [Bindable]
    [Embed(source = '../lib/BlackFencePost.png')]
    public static var BlackFencePost:Class;

}
然后你可以使用像这样的图像

myImage1.source = AssetManager.WhiteFencePost;
myImage2.source = AssetManager.WhiteFencePost;
myImage3.source = AssetManager.WhiteFencePost;    
myImage4.source = AssetManager.BlackFencePost;

您不需要定义要使用的类映像的新实例。

尝试创建具有以下静态类的资产管理器

class AssetManager
{

    [Bindable]
    [Embed(source = '../lib/WhiteFencePost.png')]
    public static var WhiteFencePost:Class;

    [Bindable]
    [Embed(source = '../lib/BlackFencePost.png')]
    public static var BlackFencePost:Class;

}
然后你可以使用像这样的图像

myImage1.source = AssetManager.WhiteFencePost;
myImage2.source = AssetManager.WhiteFencePost;
myImage3.source = AssetManager.WhiteFencePost;    
myImage4.source = AssetManager.BlackFencePost;

您不需要定义要使用的类映像的新实例。

有没有不使用const而不是var的理由?如果您确定它确实是常量,则更方便:)而且据说const需要更少的系统资源,但与图形资源消耗相比,我觉得这很有趣:)我认为这只是一个选择问题。有什么理由不使用const而不是var吗?当你确信它真的是常量时更方便:)而且据说const需要更少的系统资源,但我认为,与图形资源消耗相比,这很有趣,你也可以使用const:)我认为这只是一个选择问题。