Сокращение количества объектов Class для доступа к встроенным ресурсам. - PullRequest
1 голос
/ 14 ноября 2010

Я строю проект Flex с большим количеством встроенных растровых изображений и тому подобным.Обычный метод получения растровых изображений в Actionscript, по-видимому, заключается в том, чтобы сделать что-то вроде

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

. У меня уже есть несколько десятков таких вещей, и я легко могу увидеть, что в результате их сотнивремя проекта сделано.Есть ли способ избежать создания класса для каждого растрового изображения?

Ответы [ 2 ]

1 голос
/ 14 ноября 2010

Попробуйте создать менеджер ресурсов со статическими классами, подобными этим.

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, который вы хотите использовать.

0 голосов
/ 14 ноября 2010

Есть несколько способов ... Упаковать все файлы в zip - внедрить zip - распаковать с любой библиотекой zip для actioncript, затем потребуется Loader.loadBytes pic.Содержимое Zip можно перечислять, поэтому, если вы знаете, что делать с файлами по имени, вам даже не нужен список файлов в приложении.

...