Actionscript 3 减少类对象的数量以访问嵌入式资源
我正在构建一个包含大量嵌入式位图等的Flex项目。在Actionscript中获取位图的常用方法似乎是执行以下操作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(); 我已经有几十个这样的东西了,我可以很容易
[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:)我认为这只是一个选择问题。