0

QuizMakerというゲームを作っています。
ゲームのクイズは外部の .xml ファイルであり、QuizMaker がクラス QuizXML を介してインポートします。すべてのクイズには、画像やテキストなどの形式で、回答付きの質問が含まれています。プレーヤーは、QuizMaker 内の「My Quizzes」フォルダをナビゲートできる必要があります。
そのためには、そのフォルダー内のファイルのリストが必要です。
未完成のゲッター関数と私の質問は次のとおりです。ファイルのリストを取得するにはどうすればよいですか?

//returns an array of paths to folders and/or .xml files from the folder "My Quizzes"  
public function getFolders():Array {  
    var folders:Array = new Array();  
    //if .xml or a folder is the file looking at, add the file path to folders  
    return folders;  
}  

//returns an array of .xml file paths from an array consisting of file paths  
//if a folder, which contains .xml files, is encountered from the array, add the .xml file paths to an array  
public function getQuizzes(folders:Array):Array {  
    var validXML:Array = new Array();  
    for(var curPath:uint=0;folders.length>curPath;curPath++) {
        //if folders[curPath] is a folder  
            //somehow look through the folder's content
            //if .xml is the file looking at, add the file path to validXML
        //else if .xml is the file looking at, add the file path to validXML  
    }
    return validXML;  
}  

2 番目の質問は、「My Quizzes」フォルダに XML ファイルを保存するにはどうすればよいですか?
これらは、未完成のセッター関数です。

//creates new folders inside "My Quizzes" from an array, which contains the folders' names as strings
//if a folder with the same name is encountered, don't override that folder
public function setFolders(folderNames:Array):void {  
    for(var curPath:uint=0;folderNames.length>curPath;curPath++) {  
        //if a folder exists as folderNames[curPath]  
            //do nothing  
        //else create a folder called folderNames[curPath]  
    }  
}  

//creates new .xml files from an array, which contains XML objects, inside a folder from a string  
//if an .xml file with the same name as an XML object's nameFile is encountered, don't override that .xml file  
public function setQuizzes(outputPath:String,objectsXML:Array):void {  
    for(var curXML:uint=0;objectsXML.length>curXML;curXML++) {  
        //if an .xml file exists as objectsXML[curXML].nameFile  
            //do nothing  
        //else create objectsXML[curXML] as an .xml file  
    }  
}  

私の質問を読んでくれてありがとう。

4

1 に答える 1

0

FileReferenceは、探しているものかもしれません。

これにより、ユーザーはファイルとアプリを参照してファイルシステムに保存できます。

private function save():void
{
    var bytes:ByteArray = new ByteArray();
    var fileRef:FileReference = new FileReference();
    bytes.writeMultiByte("<root>", "iso-8859-1");
    //write your xml here
    bytes.writeMultiByte("</root>", "iso-8859-1");

    fileRef.save(bytes,"savedata.xml");
}
于 2012-08-15T23:19:32.767 に答える