Самая простая вещь для выполнения этих вещей - создать один / несколько SWF-файлов, содержащих ваши ресурсы, загрузить их, а затем извлечь оттуда классы (т. Е. Из загруженного домена приложения SWFS) ...
Есть несколько решений для этого:
- hardcore версия предназначена для загрузки этих изображений в
ByteArray
s с помощью URLLoader, а затем создания нового ByteArray
, который будет SWF-файлом, содержащим встроенные ресурсы и необходимые инструкции для связывания их с классами. Вы можете взглянуть на swfassist ...
- немного проще и эффективнее (поскольку вы делаете это только один раз), это сделать на сервере ... здесь вы можете
- просто используйте flex compiler
- использовать swfmill
- использовать некоторые библиотеки для манипулирования SWF, например ming
- сделай сам, вручную ...:)
надеюсь, что это поможет
edit: второе решение - создание ресурсов на сервере, использование подходящего инструмента ... или кодирование инструмента самостоятельно, но это была скорее шутка ... :) ... я понял, что ссылка на гибкий компилятор была неправильной ... идея состояла в том, чтобы просто подключить его к вашему веб-серверу, а затем скомпилировать какой-нибудь ActionScript, который будет выполнять встраивание ... так что вы сгенерируете один ActionScript файл вроде этого:
package {
import flash.display.Sprite;
import flash.utils.describeType;
public class Assets extends Sprite {
[Embed(source='asset_1_Location')]
public static var asset_1:Class;
[Embed(source='asset_2_Location')]
public static var asset_2:Class;
...
[Embed(source='asset_n_Location')]
public static var asset_n:Class;
public function Assets() { }
public static function getAll():Object {
var ret:Object = { };
for each (var x:XML in describeType(Assets).variable.(@type=="Class")) {
var name:String = x.@name;
ret[name] = Assets[name];
}
return ret;
}
}
}
Затем компилятор Flex скомпилирует его ... при загрузке извлеките данные с помощью LoaderInfo :: applicationDomain.getDefinition ("Assets"). GetAll (), который даст вам карту ключ-значение со всеми необходимыми классами. ..
с другими инструментами, это будет работать иначе, но я надеюсь, что это проясняет, как это должно работать ...
на сервере вам нужен сервис, который будет создавать эти SWF-файлы активов и кэшировать их ... так что вы отправляете некоторый POST-запрос, например, с нужным JSON-массивом файлов / изображений и верну вам swf ... сервер должен делать соответствующее кэширование, конечно ...
надеюсь, теперь это помогает ...:)
Greetz
back2dos