2016-04-19 5 views
1

私のゲームをさまざまな理由でCocos2dXからUnityに移植する必要がありました。 私はプロジェクトを成功裏に移植しましたが、それを起動するために古いユーザーデータを取得し、ロックされたレベル数、ユーザーの得点などの新しい構造に格納するメカニズムを作成する必要があります。 検索中、 COCOS2dXは、次のパスのユーザーのデバイスにデータを保存しましたCocos2dXからUnity Androidにプロジェクトを移行中に共有設定を取得する

system/data/data/mygamepackage/shared_prefs/Cocos2dxPrefsFile.xml 

上記のパスからデータを取得するにはどうしますか? 上記のパスは、アプリケーション自身がアクセスできる必要があります。 私はこのファイルを読むことができません。私は次のエラーを受け取ります。

ENOENT No Such file or Directory 

ファイル

があり、私は、ルート・ブラウザ経由根ざしデバイス上でそれを見ることができますが、私は、同じデバイス上でアプリケーションを実行すると、私はエラーを取得します。 私が必要とするのは、プログラムでファイルにアクセスすることです。後でそれを解析し、今後使用するためにUnityを介してファイルを保存します。

肯定的で迅速な対応を楽しみにしています。

+0

両方のファイルを読んだ後の文字列を返すコードですねえユニティであなたは、WWWクラスを介してオンラインコンテンツだけでなく、ローカルストレージにアクセスすることができます(ドキュメントを参照してください)。ローカルデータ要求を行う際のポイントは、 "file:///"プロトコル(3つのスラッシュ)を使用する必要があることです。新しいWWW( "file:///system/data/data/mygamepackage/shared_prefs/Cocos2dxPrefsFile.xml")を作成してみてください。ロードして結果が得られるかどうかを確認するには、 –

+0

を指差し、代わりにこのURIを使用してください:Application.dataPath + "/Cocos2dxPrefsFile.xml" –

答えて

0

ユニティエンジンでファイルを取得できない理由がわかりません。カスタムプラグインを作成してJavaを使用してUnityプロジェクトで使用しなければならないし、いくつかの方法が機能しています。続き

は根ざし以外が根付いデバイス

public static String getCocos2DPrefsFile(String mPackageName) 
{ 
    //Get the text file 
      File file = new File("/data/data/"+mPackageName+"/shared_prefs/","Cocos2dxPrefsFile.xml"); 

      //Read text from file 
      StringBuilder text = new StringBuilder(); 

      try { 
       BufferedReader br = new BufferedReader(new FileReader(file)); 
       String line; 

       while ((line = br.readLine()) != null) { 
        text.append(line); 
        text.append('\n'); 
       } 
       br.close(); 
      } 
      catch (IOException e) { 
       //You'll need to add proper error handling here 
       Log.d("Error", e.toString()); 
      } 
      return text.toString(); 
} 
関連する問題