Первый таймер здесь.Упаковка Flash Builder Приложения для Android/IOS - каталог активов Q
Я писал приложение, предназначенное для развертывания на мобильных платформах (iOS и Android). Это использует цель сборки Flash for Builder 4.6 - она использует подкаталог в каталоге/assets /, который содержит произвольное количество .png-файлов.
I код каталога Загрузчик как таковой:
public function LoadFromDirectory(directoryName:String, store:Vector.<BitmapData>):Boolean
{
//Changed here: this should work on both the development environment, AND the device.
//Guess what...
imageDirectory = File.applicationDirectory.resolvePath("assets/" +directoryString);
//This is triggering on Android. Doesn't do so in ADL. Not tested on iOS yet,
//but come on, if it doesn't work here, it won't work on iOS...
if (!imageDirectory.isDirectory)
{
trace("Directory not found:" +imageDirectory.url);
return false;
}
/*Snip loop through the contents of this directory, loading anything that is
a PNG and storing the bitmapData of all loaded PNGs into the vector, one by one*/
/*This of course, ALL works in ADL*/
}
Это работает в виртуальных устройствах воздух, но не работает на мобильных устройствах или на развертывание. Здесь я застрял.
Редактировать: Хорошо, я перешел и уменьшил код файла до одной строки. Я должен использовать resolvePath для кросс-платформенной совместимости; Кроме того, упаковщик из Flash Builder не видит подкаталог «assets \», если я не помещаю его в «bin-debug», потому что именно там компилируется SWF.
По-прежнему не решает проблему, по крайней мере, для сборки Android, я могу увидеть папку с ресурсами в apk (переименовав ее в .zip и извлекая все), и она является правильной (рядом XML-файлы приложения и SWF).
Apk устанавливает и запускает, но isDirectory по-прежнему возвращает false при отладке самого устройства (еще раз, а не в ADL - только на устройстве). Комментируя, что весь сегмент if ... приведет к сбою приложения, а потому, что он не может найти каталог assets \.
Я так близко к решению проблемы; был бы признателен, если бы кто-то помог мне с последним шагом, потому что он принимает кровавые века, чтобы понять.
PS: Мне бы очень хотелось просто вставлять изображения в FLA или SWC, которые я делал раньше, и это работает. К сожалению, количество и имя изображений в этом конкретном каталоге: произвольно; единственное, что я уверен, это поддерживаемые расширения.
PPS: Использование этой функции: LoadImagesFromDirectory ("imagesdirectory"), которое должно выглядеть в приложении:/assets/imagesdirectory на любой платформе. Возвращение Boolean для отладки (возвращает false, если каталог с этим именем не существует.)
это помогло мне :) – ThanksBro