2016-08-28 5 views
1

私はスクリーンショットを取ってアンドロイドのデフォルトDCIMパスに保存するコードを書こうとしています。UNITY C#スクリーンショットの問題

public class IS_Screenshot : MonoBehaviour 
{ 
    string ScreenShotFile; 

    void Start() 
    { 
     ScreenShotFile = Application.persistentDataPath + "_Screenshot_" + System.DateTime.Now.ToString("_yyyy-MM-dd_HH-mm-ss") + ".png"; 
     Debug.Log (ScreenShotFile); 
    } 

    public void Screen_Shot() 
    { 
     try 
     { 
      Application.CaptureScreenshot(ScreenShotFile); 

      string Path = "/mnt/sdcard/DCIM/" + "_Screenshot_" + System.DateTime.Now.ToString("_yyyy-MM-dd_HH-mm-ss_") + ".png"; 
      Debug.Log (Path); 

      if(System.IO.File.Exists(ScreenShotFile)) 
      { 
       System.IO.File.Move(ScreenShotFile, Path); 
       Debug.Log ("Screenshot file saved."); 
      } 
      else 
      {    
       Debug.Log ("Screenshot file not found."); 
      } 
     } 
     catch(Exception ex) 
     { 
      Debug.Log ("Screenshot capture failed. | " + ex); 
     } 
    } 
} 
+0

:エラーが発生しますか?または単に「Screenshot file not found」と表示されますか? – TeunissenStefan

+0

エラーはありません。ファイルは見つかりません。 –

+0

このフォルダに保存されているユニティエディタの実行モードファイルは、「C:\ Users \ Seven \ AppData \ LocalLow \ ITCO」です。しかし、アンドロイドで私はそれらを見つけることができませんでした。 –

答えて

0

persistentDataPathにファイル名を添付するPath.Combineを使用してください。 AndroidではpersistentDataPathの値がパスセパレータで終了しないため、パスが無効になる可能性があります。

ScreenShotFile = Path.Combine(Application.persistentDataPath, "_Screenshot_" + System.DateTime.Now.ToString("_yyyy-MM-dd_HH-mm-ss") + ".png"); 
+0

CS1061: 'string '型に' Combine'の定義がなく、 'string '型の' Combine'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) –

関連する問題