2013-06-05 35 views
1

我正在開發簡單的iOS遊戲,例如, 10級,一旦你完成一個下一級將解鎖。我在這裏創建的XML文件:AS3 - 如何在iOS上加載和讀取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"); 
     } 
    } 

我真的加載文件和檢查水平解鎖什麼(真),什麼水平仍處於鎖定狀態(假)掙扎。你能幫忙嗎?非常感謝!

+0

因爲它是爲iOS你有一個選擇使用plist還是json?對於讀取和寫入XML,你可以嘗試使用[GDataXML](http://www.raywenderlich.com/725/how-to-read-and-write-xml-documents-with-gdataxml) – Anupdas

+0

除了你的XML結構可以改進。既然你要保存的水平,最好的辦法是' \t \t \t \t \t \t \t \t \t \t \t \t ' – Anupdas

+0

@Anupdas:謝謝,但我在AS3中編寫它,而GDataXML似乎是用於xcode的...... – cubeec

回答

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