1

私は単純な iOS ゲームに取り組んでおり、たとえば 10 のレベルがあり、1 つを完了すると次のレベルのロックが解除されます。ここで xml ファイルを作成します。

private function SaveProgress()
    {


        addChild(myTextField);

        var GameSaveXML:XML = 
        <LEVEL>
        <LEVEL_01>false</LEVEL_01>
        <LEVEL_02>false</LEVEL_02>
        <LEVEL_03>false</LEVEL_03>
        <LEVEL_04>false</LEVEL_04>
        <LEVEL_05>false</LEVEL_05>
        <LEVEL_06>false</LEVEL_06>
        <LEVEL_07>false</LEVEL_07>
        <LEVEL_08>false</LEVEL_08>
        <LEVEL_09>false</LEVEL_09>
        <LEVEL_10>false</LEVEL_10>
        </LEVEL>;;
        //file.deleteFile();
        var file:File = File.documentsDirectory.resolvePath("LevelsSaved.xml");

        if (file.exists)
        {
            trace("EXISTS");
            trace(GameSaveXML);
        }
        else
        {


            var fileStream = new FileStream();
            fileStream.open(file, FileMode.WRITE);

            var outputString:String = '<?xml version="1.0" encoding="utf-8"?>\n';
            outputString +=  GameSaveXML.toXMLString();

            fileStream.writeUTFBytes(outputString);

            //GameSaveXML.replace(2,<LEVEL_03>true</LEVEL_03>);
            trace(GameSaveXML);
            fileStream.close();
            trace("File Was Created");
        }
    }

ファイルを読み込んで、どのレベルがロック解除されているか (true)、どのレベルがまだロックされているか (false) を確認するのに本当に苦労しています。助けていただけますか?どうもありがとう!

4

1 に答える 1

0

xml の書き方を知っていれば、同じように読めませんか?

    var content:String = fileStream.readUTFBytes(fileStream.bytesAvailable);
    var xml:XML = new XML(content);
    if (xml.LEVEL_01 == 'true') trace('unlocked');
    else trace('locked');

または、URLLoader を使用して xml を文字列としてロードできます

私は質問を理解していなかったと 99% 確信しています - 申し訳ありません :p

于 2013-06-08T18:35:02.053 に答える