後で使用するために、フォルダ名を配列にロードしようとしています。私のデスクトップでは問題なく動作しますが、モバイル デバイス ( Android と iPhone の両方) でテストすると、別の関数 - displayFlags(); が呼び出されます。-フォルダー名を配列に取得する前。
displayFlags() が機能するにはこの名前の配列が必要で、displayFlags(); のコードのこの行からエラーが発生しています。繰り返しますが、配列が空であるためです。
flag.load(new URLRequest(LangPath[i] + "/flag.png"));
以下は、ファイルと配列をロードするコードです。 配列がいつ利用可能かを確認し、ロード後に関数を呼び出す方法はありますか?
var folderLanguages:File = File.applicationDirectory.resolvePath("Languages");
var availLang:Array = folderLanguages.getDirectoryListing();
var Lang:Array;
var LangPath:Array;
var flagButton:MovieClip;
function getLang(evt:Event = null)
{
Lang = new Array();
LangPath = new Array();
for (var i:uint = 0; i < availLang.length; i++)
{
if(availLang[i].isDirectory)
{
//trace(availLang[i].name);// gets the name
Lang.push(availLang[i].name);
LangPath.push(availLang[i].nativePath);
trace(availLang[i].nativePath);// gets the name
}
}
displayFlags();
}