2017-03-16 3 views
-1

最高のスコアを保存しているファイルがあります。 Unity Editorのパスには:path = Application.dataPath + "/Score.json"; そして、私はAndroidでこのファイルへのパスを取得する方法がわかりません。 エラーが削除されましたユニティアセットのパスはAndroidです。

+0

保存すると、 'Application.dataPath'ではなく' Application.persistentDataPath'が使用されます。また、保存する前にファイルまたはディレクトリが存在するかどうかを確認する必要があります。それにもかかわらず、あなたはjsonとしてゲームデータを保存しています。これは重複していると思います。 – Programmer

答えて

1

Application.dataPathは、私が知っている限りAndroid上の.apkファイルを指します。私はあなたが各プラットフォームで異なるパスを使用することをお勧めします。これは私がいくつかのゲームのものを保存するために保存することを好むものです。 Androidの上で

public static string Path 
     { 
      get 
      { 
       switch (Application.platform) 
       { 
        case RuntimePlatform.IPhonePlayer: 
         return Path.Combine(Application.persistentDataPath, "MyStuff"); 

        case RuntimePlatform.Android: 
         return Path.Combine(Application.temporaryCachePath, "MyStuff"); 

        default: 
         return Path.Combine(Directory.GetParent(Application.dataPath).FullName, "MyStuff"); 
       } 
      } 
     } 
0

あなたがそれに書き込むことができるように文句を言わないので、あなたがデータ保存のためにそれを使用して避ける必要がありますので、Application.dataPathはAPKを指します。代わりに、Application.persistentDataPathを使用します。リンクドキュメントが述べたよう:

iOSとAndroidの上で公開し、persistentDataPathは、デバイス上の 公開ディレクトリを指します。この場所にあるファイルは、アプリのアップデートごとに は消去されません。

+0

'#if UNITY_ANDROID \t \tパス= Application.persistentDataPath +" /Score.json "; \t \t Debug.Log( "Android device"); #endif'これは正しいですか? – Karol

+0

@Karol私によく見えます。 – Foggzie