2016-10-13 6 views
0

こんにちは単純な保存スクリプトをゲームオブジェクト(キューブ)に1つずつアタッチしようとしています。 Serializeの部分を除いて、すべてがうまく見える(エラーなし)(メソッド 'Serialize'に1つの引数をとるというオーバーロードはありません)。誰も私にこれを案内できますか?ここにコードの例があります。どうもありがとう!あなたは何をシリアル化されていません保存スクリプトを1つにまとめると、シリアル化が機能しない

using UnityEngine; 
using System.Collections; 
using System; 
using System.Runtime.Serialization.Formatters.Binary; 
using System.IO; 

public class SavingTheGame : MonoBehaviour { 

    public void OnTriggerEnter (Collider collider) 
    { 
      BinaryFormatter bf = new BinaryFormatter(); 
      FileStream file = File.Create(Application.persistentDataPath + "/SaveGame.dat"); 


      bf.Serialize(file); 
      file.Close();  
    } 
} 

答えて

1

、あなたは

public void OnTriggerEnter (Collider collider) 
{ 
     BinaryFormatter bf = new BinaryFormatter(); 
     FileStream file = File.Create(Application.persistentDataPath + "/SaveGame.dat"); 

     // Change here 
     var obj = "This Will Be Serialized"; 
     bf.Serialize(file, obj); 

     file.Close();  
} 

BinaryFormatter.Serializeあなたが素敵に続くことができる2つのパラメータ、ストリームを必要とし、

オブジェクトをシリアル化したいオブジェクトを指定する必要がありますここで保存/読み込みのためのUnityのBinaryFormatterの使用に関するチュートリアル:https://gamedevelopment.tutsplus.com/tutorials/how-to-save-and-load-your-players-progress-in-unity--cms-20934

+0

Paradrox Forgeに感謝します。ゲームオブジェクトを通過するとデータがフォルダに表示されませんでした。何が間違っているのでしょうか? –

+0

assetsフォルダを確認していますか? Application.persistentDataPathは、プロジェクトの場所ではなく、ユーザーディレクトリのどこかに保存します。 –

+0

Debug.Log(Application.persistentDataPath)を追加して、保存先を確認します。 –

関連する問題